linux——多线程pthread
线程的生命周期
就绪——运行——阻塞——终止——回收
pthread_create
该方式创建的线程在Linux中又被叫做轻量级线程LWP
pthread_detach
用于让线程进入回收态;
pthread_exit
pthread_exit(void retval);
retval 是 void 类型的指针,可以指向任何类型的数据,它指向的数据将作为线程退出时的返回值。如果线程不需要返回任何数据,将 retval 参数置为 NULL 即可。
个人理解
exit用于退出当前线程,因为没有参数可以传入;
实例
pthread_exit("i am exiting!");
pthread_cancel
int pthread_cancel(pthread_t thread)
pthread_cancel调用并不等待线程终止,它只提出请求。线程在取消请求(pthread_cancel)发出后会继续运行,
直到到达某个取消点(CancellationPoint)。取消点是线程检查是否被取消并按照请求进行动作的一个位置.
发送终止信号给thread线程,如果成功则返回0,否则为非0值。发送成功并不意味着thread会终止。
个人理解
cancel用于取消某一个线程,进入终止态,需要调用detach进入回收态;
pthread_join
等待一个线程结束,随后detach该线程进入回收态;
思考
1.线程释放与互斥量释放关系;

浙公网安备 33010602011771号