阅读背景:

简单介绍SQL Server中的自旋锁

来源:互联网 

!--NEWSZW_HZH_BEGIN--

为何我们须要自旋锁?
用闩锁同步多个线程间数据构造拜访,在每一个同享数据构造前都放置一个闩锁没成心义的。闩锁与此紧密关联:当你不能取得闩锁(由于其他人已有一个不兼容的闩锁拿到),查询就会强迫期待,并进入挂起(SUSPENDED)状况。查询在挂起状况期待直到可以拿到闩锁,然后就会进入可履行(RUNNABLE)状况。对查询履行只要没有可用的CPU,查询就一直在可履行(RUNNABLE)状况。一旦CPU有空闲,查询会进入运行(RUNNING)状况,最后胜利获得到闩锁,用它来掩护拜访的同享数据构造。下图展现了SQLOS对调和线程调度实现的状况机。 用闩锁同步多个线程间数据构造拜访,




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: