程序或執行緒持有鎖期間終止了,怎麼辦?

2021-10-04 13:52:44 字數 370 閱讀 8475

1,程序終止:

程序終止時系統不會自動釋放所持有的互斥鎖、讀寫鎖和posix訊號量,程序終止時核心總是自動清理的唯一同步鎖型別是fcntl記錄鎖。system v訊號量,應用程式可以選擇程序終止時核心是否自動清理某個訊號量。

2,執行緒終止:

1),乙個執行緒也可以在持有某個互斥鎖期間終止,自己呼叫pthread_exit或被另乙個執行緒取消。如果執行緒呼叫pthread_exit資源終止時,這時它應該知道自己還持有乙個互斥鎖(對於程式設計師來說),如果是被另乙個執行緒取消的情況,執行緒可以安裝清楚處理程式(pthread_cleanup_push),在被取消時呼叫來釋放相應的鎖。

2),對於執行緒意外操作導致程序終止的情況,就和程序終止時相同。

python執行緒鎖 守護執行緒,程序鎖 守護程序

1 守護程序 1.1 什麼是守護程序?1 守護程序會在主程序 執行結束的情況下,立即結束。2 守護程序本身其實就是乙個子程序。3 主程序在其 結束後已經執行完畢 守護程序在此時就被 然後主程序會一直等非守護的子程序都執行完畢後 子程序的資源才會結束。1.2 為什麼要用守護程序?1 守護程序本身就是乙...

執行緒和 程序 包括鎖

兩者比較 程序程式 動態的資料段 短暫的永久的 堆疊段 pcb 乙個程序只能對應乙個程式 乙個程式可以對應多個程序 程序執行緒 是資源競爭的基本單位 程式執行最小單位 執行緒共享程序資料,但也有自己的一部分資料 如下 執行緒id 一組暫存器 ip,sp,狀態 棧 errno 訊號狀態 優先順序 執行...

程序 執行緒 鎖的概念

程序狀態的轉換 程序在執行期間,不斷地從一種狀態轉換到另一種狀態,它可以多次處於就緒狀態和執行狀態,也可以多次處於阻塞狀態。程序表 為實現程序模型,每個程序占用乙個程序表項,該程序表項包含了程序狀態的重要資訊,包括程式計數器 堆疊指標 記憶體分配狀況 所開啟檔案的狀態 帳號和排程資訊等。為什麼多執行...