国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

讀寫自旋鎖

2019-11-14 15:40:01
字體:
來源:轉載
供稿:網友

讀寫自旋鎖

1:什么是自旋鎖?
自旋鎖就是互斥的同步原語,試圖進入臨界區的線程只用忙等的方式檢測鎖的狀態。如果檢測到鎖未被持有,則進入臨界區。因為采用忙等的方式,所以自旋鎖必須是鎖住很小的一塊兒代碼,并且很短的時間片。


2:讀寫自旋鎖?
有些線程在臨界區內只是簡單的讀取一些信息,不會涉及到信息的修改,允許讀取信息的線程進入臨界區不會有危險,同時還可以提高性能。所以將這些線程區分為讀線程和寫線程,從而就有了讀寫自旋鎖。


3:如何使用?
臨界區里面保護的共享資源有可能是一個單一變量,也可能是多個變量或者一個復雜結構的文件。所以每個共享的資源對應一把讀寫自旋鎖。線程只允許采用如下方式來訪問自旋鎖。
1> 申請鎖
2> 獲得鎖之后,讀寫共享資源
3> 釋放鎖

4:自旋鎖滿足四個屬性
1> 互斥:任何時刻讀者寫者不能同時進入臨界區。任意時刻只能至多一個寫者進入臨界區
2> 讀者并發:滿足互斥的前提下,多個讀者可以同時進入臨界區
3> 無死鎖
4> 忙等:讀寫鎖只用于很小的代碼片段,線程等待期間不可以進入睡眠狀態,因為睡眠/ 喚醒非常的耗時,大大延遲了獲得鎖的時間。


5:讀者與寫著競爭獲得鎖的時候,有一定的偏好策略
(1)讀者優先:
如果鎖被讀者擁有,則優先偏好讀者進入臨界區
(2)寫者優先:
寫者在后到的讀者/寫者之前搶到鎖


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮滨县| 固安县| 遂宁市| 惠来县| 信阳市| 澜沧| 盘锦市| 富锦市| 成都市| 吴堡县| 台东市| 隆尧县| 汽车| 专栏| 兴国县| 衡阳县| 广丰县| 扎赉特旗| 铁岭市| 三亚市| 太谷县| 沾化县| 资源县| 南和县| 赤壁市| 威远县| 丰宁| 赤峰市| 伊宁县| 阜城县| 沾化县| 上栗县| 三门峡市| 稻城县| 盐亭县| 嘉祥县| 沾益县| 娱乐| 澎湖县| 隆尧县| 静宁县|