首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux中程序中的3个线程 如何让线程1控制线程 2 线程3

2013-06-25 
linux中程序中的3个线程 怎么让线程1控制线程 2 线程3线程1 2 3 都在同时运行,线程1 突然来了个一个通知,

linux中程序中的3个线程 怎么让线程1控制线程 2 线程3
线程1 2 3 都在同时运行,

线程1 突然来了个一个通知,需要让线程2 与 3 同时阻塞在那里,或者空转也行(这个可以加标记的可以实现)!
现在是想同时阻塞等待,所以请问大侠们怎么弄?
[解决办法]
pthread_cond_t cond
pthread_mutex_t mutex
volatile int flag = 0
//init cond and mutex

thread1:
//receive  a message
flag = 1
...
...
//going to terminate
pthread_cond_broadcast(&cond)

thread2:
//begin
pthread_mutex_
if(flag) {
     pthread_mutex_lock(&mutex)
     pthread_cond_wait(&cond, &mutex)
     pthread_mutex_unlock(&mutex)
}

thread3:
//ditto

热点排行