執行緒的分離與結合

2021-08-02 15:40:19 字數 626 閱讀 1145

執行緒是可結合或分離的。乙個可結合的執行緒能夠被其他執行緒收回資源和殺死。相反,乙個分離的執行緒是不能被其他執行緒收回或殺死的,它的儲存器資源在它終止時由系統自動釋放。

預設情況下,執行緒被建立為可結合的。

執行緒分離函式:int pthread_detach(pthread_t thread);

由於呼叫pthread_join後,如果該執行緒沒有執行結束,呼叫者會被阻塞,但有些情況並不希望如此,所以可以在子執行緒中加入分離函式,將子執行緒的狀態設定為分離的,這樣在該執行緒執行結束後會自動釋放所有資源。

#include 

#include

#include

void* pthread_run()

int main()

*/int tmp = 0;

sleep(1);

if(0 == pthread_join(tid, null))

else

return ret;

}

在子執行緒執行完畢後,分離tid後,檢視是否能夠等待成功,若不能則說明分離成功。

執行緒的分離與結合

執行緒的分離與結合 在任何乙個時間點上,執行緒是可結合的 joinable 或者是分離的 detached 乙個可結合的執行緒能夠被其他執行緒收回其資源和殺死 在被其他執行緒 之前,它的儲存器資源 如棧 是不釋放的。相反,乙個分離的執行緒是不能被其他執行緒 或殺死的,它的儲存器資源在它終止時由系統自...

Linux 執行緒的分離與結合

在開始執行緒部分內容前,我想還是先把這個概念丟擲來,否則在開始 執行緒的建立 屬性 中會有部分內容不太清楚。原理簡述 在任何乙個時間點上,執行緒是可結合的 joinable 或者是分離的 detached 執行緒的分離狀態決定乙個執行緒以什麼樣的方式來終止自己。在預設情況下執行緒是非分離狀態的。在這...

Linux多執行緒,執行緒的分離與結合

2 執行緒的分離與結合 在任何乙個時間點上,執行緒是可結合的 joinable 或者是分離的 detached 乙個可結合的執行緒能夠被其他執行緒收回其資源和殺死 在被其他執行緒 之前,它的儲存器資源 如棧 是不釋放的。相反,乙個分離的執行緒是不能被其他執行緒 或殺死的,它的儲存器資源在它終止時由系...