Недавно я читал реализацию .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);
Весь код находится в пределах public virtual object this[object key]
от System.Collections.Hashtable
(mscorlib Version = 4.0.0.0).
Возникает вопрос:
В чем причина наличия Thread.Sleep(1)
?