码迷,mamicode.com
首页 >  
搜索关键字:freertos openrtos vsemaphorecreatebinary xsemaphorecreatecounting 信号量    ( 1994个结果
互斥锁的实现
http://blog.csdn.net/hzhzh007/article/details/6532988“ 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在 那里)。而互斥锁是用在多线程多任务互斥的,一...
分类:其他好文   时间:2014-06-27 00:28:23    阅读次数:355
Nucleus PLUS任务调度
Nucleus Plus内核(Kernel)的主要目的是管理实时任务的竞争运行(共享CPU),为应用提供各种便利,快速响应外部事件。Nucleus Plus的系统结构如图1所示,可以看出线程控制是整个内核的核心,通过邮箱、队列、管道来实现任务之间的通信,通过信号量、事件组和信号实现任务间的同步。本文描述了Nucleus PLUS的任务调度算法。...
分类:其他好文   时间:2014-06-26 13:43:24    阅读次数:256
生产者消费者模型中线程怎样正常退出
生产者:不停地往队列中放数据 消费者:不停地从队列中拿数据 两者通过两个信号量同步 当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态,这时候pthread_join也会一直挂着的。该怎样使得消费者正常退出呢? 我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,如果这个数据是结束标识则自杀退出。...
分类:编程语言   时间:2014-06-25 00:07:17    阅读次数:225
【Linux编程】XSI IPC
三种IPC被称作XSI IPC,分别是: 消息队列信号量共享存储器 下面分别介绍三种IPC的用法。 1、消息队列 消息队列是消息的链接表,具有如下函数接口: msgget:创建一个新队列或打开一个现存的队列。msgsnd:将消息添加到队列尾端。msgrcv:从队列中取消息。 我们可以自行定义一个表示消息的结构体,它由类型字段和实际数据组成: struct ...
分类:系统相关   时间:2014-06-24 20:45:32    阅读次数:319
python学习笔记三---segmaphore信号量学习
信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问。信号量维护着一个计数器,指定可同时访问资源或者进入临界区的线程数。 每次有一个线程获得信号量时,计数器-1。若计数器为0,其他线程就停止访问信号量,直到另一个线程释放信号量。...
分类:编程语言   时间:2014-06-24 17:49:06    阅读次数:256
linux 进程间信号量管理程序之sem_timedwait使用
在开发过程中,有三个独立运行的程序模块,三个模块都对sqlite数据库进行读写操作。sqlite在linux共享性较差,所以需要加入互斥信号量解决三个模块访问数据库该问题。另外,在加入信号量后,信号量sem初始化为1,如果三个模块任意一个在读或写数据库时ctrl+c掉(调试过程需要),有时会造成信号量sem保持sem_wait后的值,也就是为0;这就造成了死锁。...
分类:系统相关   时间:2014-06-21 20:22:06    阅读次数:656
Nucleus PLUS应用系统示例
描述了一个Nucleus PLUS系统应用示例,包括application_initialization和六个任务,任务在application_initialization中创建。这个示例系统体现了Nucleus PLUS的任务调度和执行过程、任务间通信和同步(信号量、事件组)。...
分类:其他好文   时间:2014-06-21 20:19:30    阅读次数:320
Boost Thread学习笔记三
下面先对condition_impl进行简要分析。condition_impl在其构造函数中会创建两个Semaphore(信号量):m_gate、m_queue,及一个Mutex(互斥体,跟boost::mutex类似,但boost::mutex是基于CriticalSection的):m_mute...
分类:其他好文   时间:2014-06-20 20:11:44    阅读次数:211
Nucleus进程间通信(IPC)方式
实时操作系统Nucleus Plus提供了6种进程间通信方式,分别为:邮箱(mailboxes)、消息队列(queues)和管道(pipes)、信号量(semaphores)、事件集(event groups)和消息(signals)。前三者用于进程间通信,后三者用于进程同步,本文总结了Nucleus Plus进程间通信方式。...
分类:其他好文   时间:2014-06-17 19:19:14    阅读次数:268
Linux编程---进程通信
Linux的通信方式主要有分类有下面几种: -匿名管道和FIFO有名管道 -消息队列,信号量和共享存储 -套接字 .对于套接字的进程通信,我就留在套接字的文章中再写了.   一.管道 管道是最古老的进程通信机制了.提供进程间的单向通信. 1.创建管道 int pipe(int fdes[2]); 实际上管道通过参数返回读和写的两个文件描述符.相当于是打开了两个文件吧.但是这个文...
分类:系统相关   时间:2014-06-17 19:07:02    阅读次数:339
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!