最近我在阅读 .NET Hashtable 的实现时,遇到了一段我不理解的代码。其中的一部分如下:
int num3 = 0;
int num4;
do
{
num4 = this.version;
bucket = bucketArray[index];
if (++num3 % 8 == 0)
Thread.Sleep(1);
}
while (this.isWriterInProgress || num4 != this.version);
整个代码位于mscorlib Version=4.0.0.0的System.Collections.Hashtable的public virtual object this[object key]
中。问题是:
为什么在那里使用
Thread.Sleep(1)
?