这段代码片段来自这里给出的
这是一个关于锁的问题,是否真的是无锁而不是自旋锁?
ConcurrentQueue
实现。internal bool TryPeek(out T result)
{
result = default(T);
int lowLocal = Low;
if (lowLocal > High)
return false;
SpinWait spin = new SpinWait();
while (m_state[lowLocal] == 0)
{
spin.SpinOnce();
}
result = m_array[lowLocal];
return true;
}
这是一个关于锁的问题,是否真的是无锁而不是自旋锁?