当前位置: 技术问答>linux和unix
关于多线程的问题
来源: 互联网 发布时间:2016-04-11
本文导语: 在主进程中同时创建三个线程a,b,c 怎样实现让线程a运行时,线程b,c等待 如何判断a运行结束之后,唤醒运行线程b b运行完之后,唤醒运行线程c | 一个保证a b c d顺序执行的例子 #include #include #define N ...
在主进程中同时创建三个线程a,b,c
怎样实现让线程a运行时,线程b,c等待
如何判断a运行结束之后,唤醒运行线程b
b运行完之后,唤醒运行线程c
怎样实现让线程a运行时,线程b,c等待
如何判断a运行结束之后,唤醒运行线程b
b运行完之后,唤醒运行线程c
|
一个保证a b c d顺序执行的例子
#include
#include
#define N 4
int x = 0; //x==0 a ; x==1 b; x==2 c ......
pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
void* func(void* argv) {
int order = *(int *)(argv);
pthread_mutex_lock(&mut);
if (x