3,881
社区成员
发帖
与我相关
我的任务
分享
pthread_cond_t cv = PTHREAD_COND_INITIALIZER;
pthread_mutex_t cvMutex = PTHREAD_MUTEX_INITIALIZER;
void * run1(void *){
Sleep(1000);
pthread_mutex_lock(&cvMutex);
pthread_cond_wait(&cv,&cvMutex);
pthread_mutex_unlock(&cvMutex);
cout<<"finish run1"<<endl;
return NULL;
}
void * run2(void *){
pthread_mutex_lock(&cvMutex);
pthread_cond_signal(&cv);
pthread_mutex_unlock(&cvMutex);
cout<<"finish run2"<<endl;
return NULL;
}
int main(){
pthread_t t1, t2;
pthread_create(&t1, NULL, run1, NULL);
pthread_create(&t2, NULL, run2, NULL);
return 0;
}