码迷,mamicode.com
首页 >  
搜索关键字:信号量    ( 1788个结果
生产者消费者模型中线程怎样正常退出
生产者:不停地往队列中放数据 消费者:不停地从队列中拿数据 两者通过两个信号量同步 当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态,这时候pthread_join也会一直挂着的。该怎样使得消费者正常退出呢? 我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,如果这个数据是结束标识则自杀退出。...
分类:编程语言   时间:2014-06-25 00:07:17    阅读次数:225
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
编程之美--信号量与互斥锁选择(转)
编程之美--多线程高效下载的问题2011-03-27 15:27:12分类:C/C++基本的思路: 这个问题相当于是生产者和消费者模型的问题 首先定义两个线程,一个是下载线程,一个是存储线程,下载线程将数据从网络上下载到相应的数据的缓冲区中(BLOCK组成的队列)。存储的线程从数据缓冲区中读取相应的...
分类:其他好文   时间:2014-06-18 15:41:28    阅读次数:261
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
windows系统调用 semaphore信号量
1 #include "iostream" 2 #include "windows.h" 3 #include "cstring" 4 using namespace std; 5 6 HANDLE g_hSemThreads=INVALID_HANDLE_VALUE; 7 8 static ...
分类:Windows程序   时间:2014-06-17 14:26:59    阅读次数:353
UnixC——进程间通信(IPC)
进程间通信 - IPC Unix / Linux 系统基于多进程,进程和进程之间经常做数据的交互,这种技术叫进程间通信。 常见的IPC: 1)文件 2)信号 3)管道 4)共享内存 5)消息队列 6)信号量集 7)网络编程(socket) ... ... 其中,管道是最古老的IPC之一,目前较少使用。共享内存、消息队列和信号量集 遵循相同的规范,因此编码上有很多的共同点,...
分类:其他好文   时间:2014-06-16 19:43:14    阅读次数:189
Linux内核的同步机制---自旋锁
五、自旋锁(spinlock) 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。 由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。 信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因...
分类:系统相关   时间:2014-06-15 16:34:46    阅读次数:285
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!