js9905com金沙网站[Oracle] 浅谈Lock与Latch

首先谈谈它们的共同点吧:它们本质上都是一种对资源的独占锁定,都是由并发引起。

接着着重谈谈它们的不同点:

首先,它们的目的不一样,enqueue 是为了解决业务层面的数据争用,而latch是为了解决内存资源的争用。

其次,它们的运行方式不一样,enqueue采用排队方式,先到先得,而latch的竞争近乎无序,以一种随机的方式,先到不一定先得,得靠抢,而且它还以一种时间片轮训的方式,不会一直霸占,即时还没运行完,时间片一到也。

第三,会话持有的时长不一样,enqueue根据业务情况,可能会持有较长时间,而latch通常非常短。第四,引起的原因不一样,enqueue太多通常是业务设计的问题,而latch过多,一般是数据库层面的问题。

本文由js9905com金沙网站-金沙澳门手机版网址发布于计算机,转载请注明出处:js9905com金沙网站[Oracle] 浅谈Lock与Latch

您可能还会对下面的文章感兴趣: