如何优雅的在主线程中结束一个从线程?

面试题:如何优雅的在主线程中结束一个从线程?:
假如现在一个线程阻塞了,主线程要结束点从线程,怎么办?
—回答:调用pthread_cancel()终止它

线程的退出方式
1. 从线程函数中return(不适合主线程);
2. 调用pthead_exit()函数终止自己;
3. 调用pthread_cancel终止同一进程中的其他线程。

线程等待:pthread_join(pthread_t thread, void **value_ptr):调用pthread_join的线程将会以阻塞的方式等待thread线程,直到thread线程终止,value_ptr是个输入输出型参数;thread线程不同的终止方式,pthread_join得到的终止状态是不同的。如果不管thead线程的终止方式,value_ptr 这个参数传NULL;

线程分离: pthread_detach(pthread_t thread);
为什么要线程分离?:创建一个线程默认是可结合的,可结合的线程可以被其他线程杀死,资源也可以被其他线程回收,但是如果程序员忘了回收,那么他就不能释放资源,造成资源泄漏;当我们设置自为可分离的之后; 该线程就不能被其他线程杀死或者回收资源;等到自己终止以后,资源被系统回收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值