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

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

讀寫自旋鎖

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

讀寫自旋鎖

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


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


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

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


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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林左旗| 濮阳市| 洛阳市| 宁强县| 镇康县| 黔西| 榆社县| 揭阳市| 玉溪市| 周口市| 新野县| 明溪县| 赤水市| 谷城县| 秦皇岛市| 太原市| 漳浦县| 横山县| 南投县| 定安县| 南涧| 二手房| 广丰县| 万宁市| 龙山县| 永福县| 东平县| 武陟县| 封开县| 四会市| 论坛| 屏东县| 谷城县| 平乡县| 区。| 高邮市| 永靖县| 新巴尔虎右旗| 连城县| 建始县| 兴和县|