Blog Articles
-
Qt自定义信号和槽
<br /> p { margin-bottom: 0.21cm; } <br />Qt 自定义信号和槽<br /> <br />#include <QObject><br /> <br />class A<br />{<br /> Q_Object;// 必需的<br />public:<br /> void sendselfsignal(void)// 发送自定义信号<br /> {<br /> printf(“object a send signal s/n
Published on: -
ubuntu 10.4 下建立嵌入式初级开发环境
<br />主机:X86+UBUNTU10.4,联网<br />1.下载并安装交叉编译器。<br /> 我用的编译器是arm-linux-gcc4.3.2,在友善之臂的网站下的。<br />只要解压一下就OK。<br /> tar -zxvf arm-linux-gcc-4.3.2.tgz<br /> 得到文件夹usr,把里面的arm目录复制到:<br /> sudo mv usr/local/arm /usr/local<br /> 接下来只要设置好环境变量,就可以使用了,环境变量
Published on: -
yaffs2下载地址
今天找一个yaffs2的代码,http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar 这个链接失效了 在网上搜了一个小时,各种要登录的,各种要积分的,包括CSDN,PUDN等等 我对此感觉非常失望,
Published on: -
Java序列化
前段时间用java做socket传输数据,由于java只支持字节流,所以要将数据转换成bytes数组,用到了序列化的知识,下面是测试代码。 TestDataClass.java import java.io.Serializable; public class TestDataClass implements Serializable { public float x; pu
Published on: -
java 动态代理示例
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">package</span> cn.com.sjfx.corpwx; <span class="hljs-keyword">import</span> org.springframework.cglib.proxy.Enhancer; <span class="hljs-keyword">import</span> org.springframework.cg
Published on: -
AbstractQueuedSynchronizer 同步队列
<p>AbstractQueuedSynchronizer 维护一个同步变量state,用这个变量来维护锁的状态, 变量值为0表示没有线程加锁,变量值大于0表示有线程加锁了。 对于线程来说, 加锁就是增加这个同步变量,解锁就是释放这个同步变量,增加成功表示加锁成功,线程从此拥有锁。</p> <p>锁分两种类型, 独占锁和共享锁, 独占锁代表只有一个线程可以加锁成功, 共享锁代表有多个线程可以加锁成功。</p> <p>线程在竞争失败时(加锁失败), 会被放到一个同步等待队列(FIFO)中, 当持有锁的线程释放
Published on: -
AbstractQueuedSynchronizer 独占锁分析
<p>独占锁, 即一次允许一个线程进入临界区。</p> <h1><a id="_1"></a>加锁流程</h1> <pre><div class="hljs"><code class="lang-java"> <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">void</span>
Published on: -
缓冲区太小导致写入日志阻塞
<h1><a id="_0"></a>背景</h1> <p>我们有多家客户,每个客户有自己的服务器(Windows Server),现在需要在客户的服务器上部署程序并自动更新,考虑到后期还会有其他的程序,所以我们首先做了一管理程序,管理程序从云端获取应用列表, 如果版本更新或者本地没有,就自动下载应用并安装启动,启动方式是使用</p> <pre><div class="hljs"><code class="lang-java">Runtime.getRuntime().exec(<span class="h
Published on: