關於enqueue的一些認識
的一些認識
[@more@]的一些認識
我也談談自己的想法:請大家批評指正
1、enqueue是實現lock的一個機制,之所以這樣說,是因為相對於latch。
2、對於每一個資源就有一個Resource Structure相對應。而且每一個資源有且不只一個Resource Structure和它對應,因為同一個資源,會有不同的型別的鎖,例如表就有TM和TX型別。
3、Resource Structure和Lock Structures只是enqueue物理實現的形式,
4、Lock Structures是和回話有關係,當一個會話發出訪問資源的請求的話,就會提出一個Lock Structures。
5、Resource Structure和Lock Structures之間的關係主要是在於當多個Lock Structures同時請求一個Resource的時候,就會根據lock之間的相容性來“排隊”,就是透過holding、wait、convert來實現。
6、所有的Resource Structure組成一個Resource table,系統會根據資源名進行hash來確定這個Resource Structure存放的位置,並能夠快速索引。這時候會有一個叫做hash bucket一個存放空間的產生,在這個空間內部Resource Structure的存放是一直chain鏈式的存放。系統在查詢一個資源的時候,會透過根據資源名進行hash演算法找到應該存放在那個bucket中,然後在這個bucket鏈式上一個一個查詢資源(這裡是不是順序查詢???),如果到頭還沒有找到的話,就在這個bucket上新建一個Resource Structure。(是不是同一型別的,我搞不太清楚,我認為應該是所有型別的組成一個唯一的表,為什麼這樣說,因為這個表是透過hash來進行檢索的,而檢索的產生源頭是有資源名,這樣就可以將所有的資源放到一個表中,還有利於系統的管理。)
7、在訪問Resource table的時候,是透過一個latch來管理,因為這是序列的訪問機制,所有會產生latch等待事件。enqueue hash chains latch
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-907895/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於hapypack的認識
- 關於UI設計行業的認識再到認識UI行業
- 關於NAND FLASH解釦的認識NaN
- 關於AP的一些知識點
- 關於不完全型別的認識型別
- 一些關於IO流的知識點
- 關於Async、Await的一些知識點AI
- 關於流媒體的一些常識
- 關於網頁的一些小知識點網頁
- 關於瀏覽器外掛的初步認識瀏覽器
- 關於洗牌演算法的錯誤認識演算法
- 總結關於CPU的一些基本知識
- 關於一些設計上的基本常識
- 一些關於網路的基礎知識
- 關於 Laravel 框架事件系統的一點認識Laravel框架事件
- 關於 API介面的一些知識分享API
- 關於 802.11ax 的七大認識誤區
- 關於高防伺服器的一些知識點伺服器
- 關於umijs+dva+antDesign 一些知識點的梳理JS
- 關於一些php面試之物件導向的相關知識PHP面試物件
- 對Array.prototype.map的一些認識
- 關於集合中一些常考的知識點總結
- 關於Flume拓撲結構--Flink進階認識
- wifi認證的相關知識WiFi
- 一些關於react的keep-alive功能相關知識在這裡(下)ReactKeep-Alive
- 一些關於react的keep-alive功能相關知識在這裡(上)ReactKeep-Alive
- clickhouse的一些相關知識
- 有關python的一些小知識Python
- 關於蜂窩模組天線的一些大白話常識
- 關於 React Props 和 React States 的一些基礎知識科普React
- 關於position的一些理解
- 關於CodeReview的一些思考View
- 關於angularJS的一些用法AngularJS
- 關於table的一些操作
- 物件導向:關於我?認識你就知道了物件
- 關於diffusion model一些統計和數學的基礎知識
- 與CompletableFuture有關的一些知識
- 與RabbitMQ有關的一些知識MQ
- 關於fsdb的一些記錄