同步原語
互斥量(Mutex,全稱Mutual Exclusion)是一種同步原語,用於防止多個執行緒同時訪問臨界資源。
互斥量提供了一種機制來確保任何時刻只有一個執行緒可以訪問被保護的代碼段或資源。互斥量的狀態只能是鎖定或未鎖定,當互斥量被一個執行緒鎖定後,其他執行緒必須等待直到鎖被釋放。互斥量有助於避免數據競爭和條件競爭,確保執行緒安全。
此外,互斥量還支持遞歸鎖定,即同一個執行緒可以多次鎖定同一個互斥量而不會產生死鎖。互斥量也用於解決優先權反轉問題,這是信號量存在的一個問題。在優先權反轉的情況下,低優先權的任務持有鎖時,高優先權的任務可能會被阻塞,使用互斥量可以避免這種情況。