執行緒終止方式

2021-08-08 16:20:55 字數 444 閱讀 7128

如果需要只終止某個執行緒而不終止整個執行緒,可以有三種方法: a:

從主線程函式

return.(從別的函式裡return會回到主線程,而不會直接把整個執行緒結束)

這種方法對主控執行緒不適合,從

main

函式return

相當於呼叫

exit. b:

乙個執行緒可以呼叫

pthread_cancel

終止同一程序中的另乙個執行緒。 c:

執行緒可以呼叫

pthread_exit

終止自己

同乙個程序的執行緒間,

pthread_cancel

向另乙個執行緒發終止訊號。系統不會馬上關閉被取消執行緒,只有在被取消執行緒下次系統呼叫時,才會真正結束執行緒。或呼叫

pthread_testcancel,

讓核心去檢測是否需要取消當前執行緒。

執行緒終止方式

一般來說,posix的執行緒終止有兩種情況 正常終止和非正常終止。執行緒主動呼叫pthread exit 或者從執行緒函式中return都將使執行緒正常退出,這是可預見的退出方式 非正常終止是執行緒在其他執行緒的干預下,或者由於自身執行出錯 比如訪問非法位址 而退出,這種退出方式是不可預見的。一般情...

多執行緒系列(四) 終止執行緒的方式

多執行緒系列 一 執行緒的狀態及轉換 多執行緒系列 二 執行緒的建立方式 多執行緒系列 三 執行緒常用方法 多執行緒系列 四 終止執行緒的方式 多執行緒系列 五 死鎖案例以及檢測方法 多執行緒系列 六 生產者消費者案例 多執行緒系列 七 synchronized關鍵字簡單使用以及可重入性 多執行緒系...

09之 interrupt 和執行緒終止方式

interrupt 是給執行緒設定中斷標誌 interrupted 是檢測中斷並清除中斷狀態 isinterrupted 只檢測中斷。還有重要的一點就是interrupted 作用於當前執行緒,interrupt 和isinterrupted 作用於此執行緒,即 中呼叫此方法的例項所代表的執行緒。首...