互斥量mutex簡介


互斥量又稱互斥鎖。互斥量是一個可以處於兩態之一的變量:解鎖和加鎖。

 

簡介

如果不需要 信號量的計數能力,有時可以使用信號量的一個簡化版本,稱為互斥量( mutex)。互斥量僅僅適用於管理共享資源或一小段代碼。由於互斥量在實現時既容易又有效,這使得互斥量在實現 用戶空間線程包時非常有用。

特征

編輯
互斥量是一個可以處於兩態之一的變量:解鎖和加鎖。這樣,只需要一個 二進制位表示它,不過實際上,常常使用一個 整型量0表示解鎖,而其他所有的值則表示加鎖。互斥量使用兩個過程。當一個 線程(或進程)需要訪問 臨界區時,它調用 mutex_lock。如果該互斥量當前是解鎖的(即臨界區可用),此調用成功,調用線程可以自由進入該臨界區。
 
另一方面,如果該互斥量已經加鎖,調用線程被阻塞, 直到在臨界區中的線程完成並調用mutex_unlock。如果多個線程被阻塞在該互斥量上,將 隨機選擇一個線程並允許它獲得鎖。
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM