Entwickler-Ecke
Basistechnologien - Threadsicherheit der Queue<T>
c#surfer - Mo 15.02.10 13:29
Titel: Threadsicherheit der Queue<T>
Hallo,
in der
MSDN Hilfe zur Queue<T>-Klasse [
http://msdn.microsoft.com/de-de/library/7977ey2c.aspx] wird folgendes gesagt:
| Zitat: |
Threadsicherheit
Öffentliche statische Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet. |
Nun habe ich mir als Beispiel Dequeue im Reflector angeschaut:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| public T Dequeue() { if (this._size == 0) { ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EmptyQueue); } T local = this._array[this._head]; this._array[this._head] = default(T); this._head = (this._head + 1) % this._array.Length; this._size--; this._version++; return local; } |
Wie wird hiermit die Threadsicherheit gewährleistet? Es gibt kein lock oder ähnliches...
Was übersehe ich hier?
Danke
c#surfer
Christian S. - Mo 15.02.10 13:41
Nein, aber das ist ja auch kein statischer Member, sondern ein Instanzmember.
c#surfer - Mo 15.02.10 15:34
Du hast natürlich völlig Recht. Ich hatte den Satz über die Threadsicherheit nicht gründlich genug gelesen. Danke für den Hinweis.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!