关于enqueue的一些认识

关于enqueue的一些认识

[@more@]

关于enqueue的一些认识

我也谈谈自己的想法:请大家批评指正

1enqueue是实现lock的一个机制,之所以这样说,是因为相对于latch

2、对于每一个资源就有一个Resource Structure相对应。而且每一个资源有且不只一个Resource Structure和它对应,因为同一个资源,会有不同的类型的锁,例如表就有TMTX类型。

3Resource StructureLock Structures只是enqueue物理实现的形式,

4Lock Structures是和回话有关系,当一个会话发出访问资源的请求的话,就会提出一个Lock Structures

5Resource StructureLock Structures之间的关系主要是在于当多个Lock Structures同时请求一个Resource的时候,就会根据lock之间的兼容性来“排队”,就是通过holdingwaitconvert来实现。

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/222350/viewspace-907895/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值