oracle的單例項併發控制:Latch(二)
Latch是oracle使用的另一種併發控制機制,Latch是一種“低階”鎖,這種鎖主要用於保護資料結構。
oracle的記憶體使用都是以GB為單位的,在這麼大的空間中尋找一個資料,必須要以高效的方式組織記憶體才能保證效率。oracle採用的雜湊演算法來組織記憶體的。
在遍歷連結串列的過程中,連結串列這個資料結構本身也可能被其他程式併發修改,因此對連結串列資料結構也需要進行併發控制,這中控制就是使用的Latch。
latch和lock對比:
Latch和Lock的作用是相同的,都是為了保護資源,防止併發訪問造成的破壞。但是Latch的實現機制和Lock有很大差異:
1、Latch請求、獲得、釋放等操作是原子操作,使用時間非常短;
2、程式請求Latch卻不能得到時,程式不會釋放cpu資源,而是不斷嘗試請求,只有嘗試一定次數之後還不能獲得時,才釋放cpu,這就是Latch的Spin機制。這時的表現就是cpu利用率非常高,但是吞吐量卻很低。
3、Latch使用的是搶佔機制,Lock使用的是排隊機制。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25323853/viewspace-694415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 我是如何控制1000 個 Echarts 例項同時渲染 最大併發的Echarts
- Thread 併發執行例項thread
- oracle併發與多版本控制Oracle
- oracle之 單例項監聽修改埠Oracle單例
- 多執行緒併發鎖分類以及簡單例項執行緒單例
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- 淺析Java併發中的單例模式Java單例模式
- Oracle 11g RAC到單例項OGG同步Oracle單例
- Oracle Far Sync例項Oracle
- 4.1. Oracle例項Oracle
- Android 簡單瀏覽器例項-webview控制元件Android瀏覽器WebView控制元件
- ORACLE LOCK,LATCH,PINOracle
- Oracle Latch 說明Oracle
- oracle rac 單個例項不能生成awr報告的問題Oracle
- oracle資料庫與oracle例項Oracle資料庫
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- 【PSU】Oracle打PSU及解除安裝PSU(單例項)Oracle單例
- ORACLE-LINUX環境字元介面單例項安裝OracleLinux字元單例
- oracle 例項表查詢Oracle
- phpqrcode生成動態二維碼簡單例項PHP單例
- 「分散式技術專題」併發系列二:基於時間的併發控制分散式
- Systematic Latch Contention Troubleshooting in OracleOracle
- 併發控制
- oracle11g安裝 單例項 系統centos7Oracle單例CentOS
- ORA-29702複製RAC Oracle軟體啟動單例項Oracle單例
- ArcGIS開發(二)——一個基本視窗的例項化
- JVM指令分析例項二(算術運算、常量池、控制結構)JVM
- Guava併發:使用Monitor控制併發Guava
- 【多執行緒與高併發3】常用鎖例項執行緒
- 從例項出發,瞭解單例模式和靜態塊單例模式
- keras轉tensorflow lite【方法二】直接轉:簡單模型例項Keras模型
- Java併發程式設計中的設計模式解析(二)一個單例的七種寫法Java程式設計設計模式單例
- PGSQL併發控制SQL
- goroutine併發控制Go
- mysql併發控制MySql
- PHP+jQuery開發簡單的翻牌抽獎例項PHPjQuery
- PostgreSQL 併發控制機制(3):基於時間戳的併發控制SQL時間戳
- 確保您擁有一個獨一無二的例項:單例模式的建立方式單例模式
- oracle監聽不到例項服務Oracle