Freertos是一个硬实时内核,支持众多的微处理器架构,我们能够从它的官网(www.freertos.ort)下载它的sourcecode,同一时候也能够看出它支持了几十种的微处理器架构,这些就不罗嗦了。之所以选择研究这个,是应为窥探RTOS内核的内幕一直每个做底层软件开发者的心愿,选择过好几.....
分类:
其他好文 时间:
2014-09-27 14:02:09
阅读次数:
229
1
信号量
信号量可以有n把锁。
依赖的头文件
#include
函数声明
sem_t
表示信号量
int sem_init(sem_t *sem, int pshared,unsigned int value);
名称:
sem_init
功能:
...
分类:
编程语言 时间:
2014-09-25 19:49:37
阅读次数:
323
本文是学习网络上的文章时的总结,感谢大家无私的分享。
当一个线程想要访问某个共享资源,首先,它必须获得semaphore。如果semaphore的内部计数器的值大于0,那么semaphore减少计数器的值并允许访问共享的资源。计数器的值大于0表示,有可以自由使用的资源,所以线程可以访问并使用它们。
package chapter3;
import java.util.concurrent...
分类:
编程语言 时间:
2014-09-25 18:10:47
阅读次数:
224
(转)临界区,互斥量,信号量,事件的区别(线程同步) 分类: C++ windows 核心编程 2012-04-10 14:55 2064人阅读 评论(0) 收藏 举报 semaphore mfc null events thread http服务器 四种进程或线程同步互斥的控制方...
分类:
编程语言 时间:
2014-09-25 16:40:39
阅读次数:
190
理论: 临界资源 PV操作:通过信号量机制进行维护关系资源的安全---看看操作系统.... 任务对资源进行操作,为了安全要加锁,锁加载临界资源操作上(也就是对共享资源的操作) 加锁 共享资源操作 解锁编程模型: 1.通过锁 2.threadLocal 3....
分类:
编程语言 时间:
2014-09-23 23:51:35
阅读次数:
296
进程间通信的几种方式:
1、普通管道(pipe):管道是一种单工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系或者兄弟进程之间。
2、流管道(s_pipe):一种半双工的通信方式,可以双向传输。
3、有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系的进程间的通信。
4、信号量(semophore):信...
分类:
其他好文 时间:
2014-09-22 17:09:42
阅读次数:
211
在多线程开发中,有一个很经典的名词,那就是信号量。信号量就是用来衡量一个资源的可利用数目的,根据信号
量的多少来控制在多线程中各个资源之间的冲突问题,在Java中也提供了对信号量的支持。
而且在创建信号量的时候,第二个参数用来指定采取何种分配策略,比如当有很多线程被阻塞,但有一个机会的时
候,信号量应该选择谁去运行呢,如果选择true,就采用公平模式,到时候看哪个线程等待的时间最久,...
分类:
编程语言 时间:
2014-09-21 23:57:51
阅读次数:
277
最近看了linux的SYSTEM V信号量的部分,同时对于信号量的数据结构以及系统调用函数的具体实现进行了分析,现将这部分资料进行一个整理,以便于自己理清思路,同时便于以后的查看,若里面有写的不当之处,还望大家指教。需要说明的是本报告是基于linux-2.6.11版本第一部分 信号量的数据结构1、信...
分类:
其他好文 时间:
2014-09-16 10:31:10
阅读次数:
163
生产者消费者问题读者作家问题哲学家吃饭问题生产者消费者问题http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem分别用锁、信号量、同步监视器模拟的例子。package thread;import java.util.Random;...
分类:
编程语言 时间:
2014-09-15 22:44:59
阅读次数:
379
1.1进程同步机制(1)原子操作:所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它是最小的执行单位,不可能有比它更小的执行单位。原子操作需要硬件的支持,因此是架构相关的。(2)信号量:信号量sem是一整数,当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝...
分类:
其他好文 时间:
2014-09-13 22:44:16
阅读次数:
252