[转]library cache lock and pin

转自宁海元大师的一个帖子:

http://www.itpub.net/viewthread.php?tid=609878&extra=&page=2

Library cache lock有三种模式:NULL,share,execlusive

shared pool 是通过hash表来管理的,hash表的每一项指向一个hash bucket,每个hash bucket指向一个双向的链表,链表的每个节点包含了Library Cache Object的handle和其他比如依赖表等的指针。

library cache lock是加在handle上的一种锁机制。读取对象时,加NULL或share模式的lock;修改对象时,需要获得execlusive模式的lock。

在获得lock后,进程在访问对象之前还需要pin该对象。

相对来说,lock的时间比较长,pin的时间比较短(最长3秒)

 

 

请使用浏览器的分享功能分享到微信等