Linux 多线程环境下 线程joinable状态和unjoinable状态

这里主要讨论这两种状态下,线程终止以及资源释放的问题

linux线程中,pthread有两种状态 joinable状态unjoinable状态

joinable状态下,当线程函数 自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符。只有当你调用 了pthread_join之后这些资源才会被释放,这是需要main函数或者其他线程去调用pthread_join函数。

unjoinable状态的线程,这些资源在 线程函数退出时或pthread_exit时自动会被释放。设置unjoinable状态设置有两种办法 一是可以 在pthread_create时指定,二是线程创建后在线程中 pthread_detach自己 pthread_detach(pthread_self()),状态改为unjoinable状态,确保资源的释放

Original: https://www.cnblogs.com/biyeymyhjob/archive/2012/10/11/2720327.html
Author: as_
Title: Linux 多线程环境下 线程joinable状态和unjoinable状态

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10156/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部