码迷,mamicode.com
首页 > 其他好文 > 详细

pthread_create

时间:2019-12-29 22:04:09      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:另一个   ptr   pthread   条件   void   lock   机制   线程id   需要   

int pthread_create(pthread_t* tid, const pthread_atrr, void*(*func)(void*), void* arg);
func:接受void*,返回void*,arg是唯一的参数
pthread_join:等待一个给定线程终止。当一个joinable的线程终止时,他的线程id和退出状态留存到另一个线程对他调用pthread_join.
pthread_self:获得自身线程id
pthread_detch:使线程脱离,更像是守护进程,线程终止时,所有的相关资源都被释放,不能等待他们终止
pthred_exit:线程终止,其他两种线程终止(线程函数放回,进程调用exit)

互斥锁:pthread_mutex

int pthread_mutex_lock(pthread_mutex_t* mptr);
int pthread_mutex_unlock(pthread_mutex_t* mptr);

我们需要一个让主循环进入睡眠,直到某个线程通知他有事可做才醒过来。条件变量结合互斥锁能够提供这个功能。
互斥锁提供互斥机制,条件变量提供信号机制

int pthread_cond_wait(pthread_cond_t* cptr, pthread_mutex_t* mptr);//把调用线程投入睡眠并释放调用线程持有的互斥锁。当收到信号唤醒时,线程重新获得该锁
int pthread_cond_signal(pthread_cond_t* cptr);//唤醒等在相应条件变量上的单个线程
int pthread_cond_broadcast(pthread)cond_t* cptr);//唤醒等在相应条件变量上的所有线程
int pthread_cond_timewait(pthread_cond_t* cptr, pthread_mutex_t* mptr, const struct timespec* abstime);//等待条件变量设置一个超时时间

pthread_create

标签:另一个   ptr   pthread   条件   void   lock   机制   线程id   需要   

原文地址:https://www.cnblogs.com/zzyoucan/p/12116584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!