70得票3回答
为什么.NET内部Hashtable中有Thread.Sleep(1)? (注意:这是一个提问标题,无需回答)

最近我在阅读 .NET Hashtable 的实现时,遇到了一段我不理解的代码。其中的一部分如下:int num3 = 0; int num4; do { num4 = this.version; bucket = bucketArray[index]; if (++num3...

10得票3回答
在 .Net 框架中是否有使用自旋锁或自旋等待的示例?

我查看了并发集合,但它们似乎在内部使用普通的锁定。在.NET框架中有没有使用这种锁定结构的好例子? 我最初看了ConcurrentDictionary。我发现它使用普通锁定,但BlockingCollection类在其内部方法中使用SpinWait。

10得票2回答
基于 CompareExchange 的互锁实现是否应该使用 SpinWait?

以下是基于Interlocked.CompareExchange的互锁方法的实现。 在重新迭代之前,使用SpinWait自旋是否明智?public static bool AddIfLessThan(ref int location, int value, int comparison) {...