Kürzlich habe ich die Implementierung von .NET Hashtable gelesen und bin auf Code gestoßen, den ich nicht verstehe. Ein Teil des Codes ist:
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);
Der gesamte Code befindet sich innerhalb public virtual object this[object key]
von System.Collections.Hashtable
(mscorlib Version = 4.0.0.0).
Die Frage ist:
Was ist der Grund, Thread.Sleep(1)
dort zu sein?