Linux 多线程开发-线程的属性-分离detached和连接joinable
生活随笔
收集整理的這篇文章主要介紹了
Linux 多线程开发-线程的属性-分离detached和连接joinable
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、描述
linux的POSIX線程分離狀態決定一個線程以什么方式來終止。默認的分離狀態是可連接態(joinable),創建線程是參數設置為NULL,就是默認連接態,可以被pthread_join。
Linux的POSIX線程要么分離要么連接分別用一下宏表示:
一個可連接的線程的特點:
注意:為避免內存泄露,可連接的線程終止時要么設為可分離要么使用pthread_join釋放資源。一個線程不能被多個線程等待,
一個可分離的線程的特點:
2、設置可分離線程
- 調用函數pthread_detach,將線程設轉換為可分離線程
- 在創建時設置為可分離線程,初始化線程屬性結構體變量(pthread_attr_init),設置為可分離狀態(pthread_attr_setdetachstate),結構體變量地址傳入pthread_creat,銷毀初始化屬性(pthread_attr_destroy)
pthread_detach函數原型:
int pthread_detach(pthread_t pid);pid:要分離的線程ID。
pthread_attr_setdetachstate函數原型:
int pthread_attr_setdetachstate(pthread_attr_t *attr,int detachstate)detachstate:PTHREAD_CREAT_DETACHED??或者?PTHREAD_CREAT_JOINABLE
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Linux 多线程开发-线程的属性-分离detached和连接joinable的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迭代器 java_面试必备(含答案):3
- 下一篇: Linux mount挂载和umont