跟WINDOWS下 有所不同,没有专有的 waitforsingleobject等待互斥
不过有sigwait...来进行通信
int main(void)
{
int i;
pthread_t pid;
pthread_mutex_init(&mutex,NULL);
printf("main thread start!!!/n");
if(0==pthread_create(&pid,NULL,(void*)thread_callback,NULL))
printf("pthread success!!/n");
if(pthread_mutex_lock(&mutex)==0)printf("main thread lock!!/n");;
for(i=0;i<9;i++)
{
printf("main thread!!/n");
sleep(1);
}
if(pthread_mutex_unlock(&mutex)==0)printf("main thread unlock!!/n");
sleep(1);
pthread_mutex_lock(&mutex);
pthread_mutex_unlock(&mutex);
pthread_mutex_destroy(&mutex);
return 0;
}
void thread_callback(void* argv)
{
int i;
printf("thread start!!/n");
if(pthread_mutex_lock(&mutex)==0)
printf("thread mutex lock ok !!/n");
printf("thread start!!/n");
for(i=0;i<9;i++)
{
printf("callback!!!/n");
sleep(1);
}
if(pthread_mutex_unlock(&mutex)==0)
printf("thread unlock !!/n");
}