關於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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於 MySQL 索引的一些認識MySql索引
- 關於跨平臺的一些認識
- 關於負載均衡的一些認識負載
- 關於UI設計行業的認識再到認識UI行業
- 關於tc型別的enqueue等待型別ENQ
- 關於TortoiseSVN的一些知識
- 關於NAND FLASH解釦的認識NaN
- 關於AP的一些知識點
- 關於 frame的一些基本知識
- 關於不完全型別的認識型別
- 關於Inlist iterator操作的一點認識
- 關於網頁的一些小知識點網頁
- 關於Twitter的一些廣告投放知識
- 關於流媒體的一些常識
- 一些關於IO流的知識點
- 關於洗牌演算法的錯誤認識演算法
- 關於dbms_metadata.get_ddl的認識
- 關於瀏覽器外掛的初步認識瀏覽器
- 總結關於CPU的一些基本知識
- 關於Async、Await的一些知識點AI
- 一些關於網路的基礎知識
- 關於 Laravel 框架事件系統的一點認識Laravel框架事件
- 【Linux】關於bind_ip的一點認識Linux
- 關於vmware下網路卡型別的個人認識型別
- 對按鈕的一些認識
- 自己總結的一些enqueue的東東ENQ
- 關於汽車一些您必須知道的知識
- 關於 API介面的一些知識分享API
- 關於一些php面試之物件導向的相關知識PHP面試物件
- 3. mysql的一些基本認識MySql
- 關於高防伺服器的一些知識點伺服器
- 關於軟體開發的一些常識和思考
- 談談關於PHP的程式碼安全相關的一些致命知識PHP
- 關於RAID10和RAID5的認識AI
- 對Array.prototype.map的一些認識
- 關於Oracle 9i RAC enqueue等待的一點測試OracleENQ
- wifi認證的相關知識WiFi
- 關於集合中一些常考的知識點總結