2021
09-04
09-04
.Net基于Thread实现自旋锁的三种方式
基于Thread.SpinWait实现自旋锁实现原理:基于Test--And--Set原子操作实现使用一个数据表示当前锁是否已经被获取0表示未被索取,1表示已经获取获取锁时会将_lock的值设置为1然后检查修改前的值是否等于0,优点:不使用Thread.SpinWait方法,重试的方法体会为空,CPU会使用它的最大性能来不断的进行赋值和比较指令,会浪费很大的性能,Thread.SpinWait提示CPU当前正在自旋锁的循环中,可以休息若干个时间周期使用自旋锁需要...
继续阅读 >