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