c 執行緒鎖,mutex lock使用

2021-10-08 13:37:45 字數 458 閱讀 3959

為什麼要用執行緒鎖呢.

比如當乙個執行緒再修改乙個變數,另乙個執行緒在讀取那個變數,那麼讀到的值可能是乙個無法**的值,因為有可能他在讀的時候另乙個執行緒正寫到一半.

由於執行緒導致的bug會比較難查詢,因此寫乙個靠譜的執行緒鎖非常重要.

總結一下mutex_lock相關函式:

int

pthread_mutex_init

(pthread_mutex_t *restrict mutex,

const pthread_mutexattr_t *restrict attr)

;//初始化,attr填null為預設屬性,初始化成功返回0.

intpthread_mutex_destroy

(pthread_mutex_t *mutex)

;

C 執行緒鎖使用全功略

前兩篇簡單介紹了執行緒同步lock,monitor,同步事件eventwaithandler,互斥體mutex的基本用法,在此基礎上,我們對 它們用法進行比較,並給出什麼時候需要鎖什麼時候不需要的幾點建議。最後,介紹幾個fcl中線程安全的類,集合類的鎖定方式等,做為對執行緒同步系列的完善 和補充。l...

C 執行緒鎖使用全功略

前兩篇簡單介紹了執行緒同步lock,monitor,同步事件eventwaithandler,互斥體mutex的基本用法,在此基礎上,我們對 它們用法進行比較,並給出什麼時候需要鎖什麼時候不需要的幾點建議。最後,介紹幾個fcl中線程安全的類,集合類的鎖定方式等,做為對執行緒同步系列的完善 和補充。l...

C 多執行緒中鎖的使用

最近的專案中涉及到實時資料的處理,經常會使用多執行緒訪問共享資源。如果處理不當,資源未能正確在各個執行緒中同步的話,計算結果將會出現錯誤。關於資源同步最常用的技術就是加鎖。這裡提到是乙個比較簡單的鎖 lock。lock是對monitor中的兩個函式enter和exit的封裝。當時專案的模式是這樣的 ...