(1)問題描述:
(2)互斥關係
(3) 同步關係
(1)在保證互斥的基礎上,linux 提供了對臨界資源訪問控制粒度更細的讀寫鎖機制
(2)讀寫鎖機制可以實現如下訪問控制規則
(3)讀寫鎖的操作與互斥量的操作非常類似:
(4)讀寫鎖的加鎖操作在互斥量加鎖的基礎上擴充套件,具有加讀鎖和加寫鎖兩種操作
標頭檔案: pthread.h
pthread_rwlock_t rwlock;
int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwloc
k, __const pthread_rwlockattr_t *__restrict __attr)
;
int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
;返回值:成功返回0,否則返回錯誤碼
標頭檔案:pthread.h
int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
;
int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
;
int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __
rwlock, __const struct timespec *__restrict __abstime)
;
標頭檔案:pthread.h
int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
;
int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
;
int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __
rwlock, __const struct timespec *__restrict __abstime)
;
標頭檔案:pthread.h
int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
;
Linux 同步機制 讀寫鎖
讀寫鎖也叫 shared exclusive 鎖,也是一種同步機制。讀寫鎖有三種狀態 讀模式下加鎖,寫模式下加鎖,不加鎖。有如下的使用約定 讀模式共享,寫模式獨佔,適合讀頻率遠大於寫頻率的場景。這些api位於 pthread.h 下。initialize read write lock rwlock...
執行緒同步機制
本週主要學習 執行緒同步機制 互斥量 讀寫鎖和條件變數 和簡單程式的實現,對執行緒同步有了進一步認識 內容如下 執行緒的基本概念,相關函式 互斥量 說明 處於標圓形框之上的線段表示相關的執行緒沒有擁有互斥量 處於圓形框中心線之上的線段表示相關的執行緒等待互斥量 處於圓形框中心線之下的線段表示相關的執...
執行緒同步機制
執行緒同步主要用於協調對臨界資源的訪問,臨界資源可以是硬體裝置 比如印表機 磁碟 檔案 記憶體 變數 陣列 佇列等 執行緒同步有4種機制 他們的主要區別在於 各同步機制詳細的功能說明如下 臨界區臨界區是一段獨佔對某些共享資源訪問的 在任意時刻只允許乙個執行緒對共享資源進行訪問。如果有多個執行緒試圖同...