任何人都可以使用Intentional Shared鎖給出一個簡單的數據庫事務示例嗎?如果是這樣,一個使用故意排他鎖。IS(意向共享)鎖
回答
意向鎖是需要的,因爲鎖管理器不理解鎖定實體的物理結構。如果一個事務S鎖定了一條記錄,比如說R1,而另一個事務要求在頁面上有一個X鎖,那麼說P1,如果R1實際上位於P1上,會發生什麼?在R1被釋放之前,鎖管理器不應該遵守P1請求,但是爲了這樣做,它必須理解R1被包含在P1中。
由於鎖管理器顯然無法知道鎖定對象的結構細節,因此引入了意向鎖。第一筆交易將在P1上放置一個IS鎖,然後在R1上放置一個S鎖。當第二個事務請求P1上的X鎖時,它將與第一個事務放置的IS鎖衝突。
謝謝你Remus! – Sheldon 2009-11-25 05:13:45
因此,Intent鎖定不是鎖定的,但是定義某些數據的方法可以被鎖定或不鎖定,如果可以,如何鎖定?作爲一個自上而下的樹,三個粒度更大。 – Sheldon 2009-11-25 05:15:41
從鎖管理器的角度來看,鎖有四種類型:IS,IX,S,X(忽略U鎖和其他類型)。 LM將它們全部理解爲鎖,並且具有兼容性矩陣,使得IS-IX和IX-IX兼容(但不是S-IX,X-IS和X-IX)。 '訪問者'(理解層次結構樹的結構)將在樹中導航,請求在鎖定狀態下進行鎖定,直到找到它請求S或X鎖的實際利益項。 – 2009-11-25 05:22:47
- 1. Android的 - 意向共享
- 2. 共享文件鎖
- 3. 與共享意向共享位置活動
- 4. 使用意向共享私人文件
- 5. 意向共享不填充的Facebook
- 6. Android共享意向選擇器
- 7. 保存意向共享首選項
- 8. Android共享意圖
- 9. 意圖Android共享
- 10. 鎖類之間的共享
- 11. 鎖定可共享內存
- 12. 檢查IPC可共享鎖
- 13. 共享鎖的應用
- 14. System.Data.SQLite鎖定/共享衝突
- 15. 安卓分享意向共享內容確認
- 16. Android共享意圖EXTRA_STREAM
- 17. Android的Facebook共享意圖
- 18. Android共享意圖問題
- 19. F#的共享獨佔鎖實現
- 20. 共享鎖和快照隔離
- 21. Jenkins:查看哪些作業共享鎖
- 22. 共享互斥鎖的交替例程
- 23. 在共享模式下選擇鎖定
- 24. 如何同步鎖定共享整數
- 25. pthread進程共享互斥死鎖
- 26. 使用fcntl鎖共享mmap協調?
- 27. 正在發佈Windows文件共享鎖
- 28. 使用無鎖算法共享內存
- 29. C#與多線程共享鎖
- 30. Spring集成 - 跨步驟共享鎖定
這功課嗎? – 2009-11-25 03:01:00
Nop。只是我不明白如何實現這個概念。我清楚地瞭解共享鎖和獨佔鎖,但沒有看到「故意」鎖的需要。一個例子會有幫助。 – Sheldon 2009-11-25 03:11:58