任何人都可以使用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