既然latch是一种内存保护机制,防止并发访问、修改,那么我就有个疑问,lru列表只有一个(不考虑10g以后增加的辅助lru list),那么一个进程在扫描这个列表寻找free buffer的时候,首先需要获得这个cache_buffer_lru_chain 的latch,其他的进程如果也想扫描这个lru列表只能等待,如果真是这样的话,那么为什么这个cache_buffer_lru_chain latch还存在多个子latch啊,那是不是如果有十个子latch的话,就说明最多有十个进程可以同时扫描lru list寻找free buffer.这启不是不符合latch的保护机制。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-662244/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22034023/viewspace-662244/
本文探讨了在并发场景下,LRU列表的Latch保护机制。针对一个进程中获取latch来扫描LRU列表查找freebuffer时,其他进程的等待情况。并对多个子latch的存在及其意义提出了疑问。
1974

被折叠的 条评论
为什么被折叠?



