91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux互斥鎖的實現原理是什么

發布時間:2022-01-29 18:55:37 來源:億速云 閱讀:541 作者:iii 欄目:開發技術

本篇內容主要講解“Linux互斥鎖的實現原理是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux互斥鎖的實現原理是什么”吧!

互斥鎖(Mutex)是在原子操作API的基礎上實現的信號量行為。互斥鎖不能進行遞歸鎖定或解鎖,能用于交互上下文但是不能用于中斷上下文,同一時間只能有一個任務持有互斥鎖,而且只有這個任務可以對互斥鎖進行解鎖。

Linux互斥鎖的實現原理是什么

引言

互斥鎖大都會使用,但是要了解其原理就要花費一番功夫了。盡管我們說互斥鎖是用來保護一個臨界區,實際上保護的是臨界區中被操縱的數據。

互斥鎖還是分為三類:快速互斥鎖/遞歸互斥鎖/檢測互斥鎖

futex

要想了解互斥鎖的內部實現,先來了解一下futex(fast Userspace mutexes)的作用。

內核態和用戶態的混合機制。

還沒有futex的時候,內核是如何維護同步與互斥的呢?系統內核維護一個對象,這個對象對所有進程可見,這個對象是用來管理互斥鎖并且通知阻塞的進程。如果進程A要進入臨界區,先去內核查看這個對象,有沒有別的進程在占用這個臨界區,出臨界區的時候,也去內核查看這個對象,有沒有別的進程在等待進入臨界區。

互斥鎖

1、互斥鎖的結構?

在futex的基礎上用的內存共享變量來實現的。

2、不能鎖住的時候,是如何進入休眠,又如何等待被喚醒的呢?

進入鎖的時候就會區檢查那個共享變量,如果不能獲取鎖,就會通過futex系統調用進入休眠。如果有人釋放鎖,就會通過futex來喚醒。

3、互斥鎖的屬性?

指定鎖的適用范圍。

到此,相信大家對“Linux互斥鎖的實現原理是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 堆龙德庆县| 克拉玛依市| 卓尼县| 祁阳县| 电白县| 岫岩| 从化市| 河北省| 工布江达县| 松滋市| 紫云| 上虞市| 德格县| 朝阳市| 鹤山市| 奎屯市| 东阳市| 民权县| 璧山县| 金昌市| 藁城市| 疏勒县| 怀柔区| 刚察县| 惠水县| 洛阳市| 济阳县| 太原市| 仲巴县| 新余市| 星座| 桂林市| 北宁市| 纳雍县| 苍山县| 台中县| 政和县| 眉山市| 景谷| 达拉特旗|