Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryDequeue() [2/2]

bool System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >.TryDequeue ( [MaybeNullWhen(false)] out T result)
inline

Implements System.Threading.Tasks.IProducerConsumerQueue< T >.

Definition at line 162 of file SingleProducerSingleConsumerQueue.cs.

163 {
164 Segment segment = _head;
165 T[] array = segment._array;
166 int first = segment._state._first;
167 if (first != segment._state._lastCopy)
168 {
169 result = array[first];
170 array[first] = default(T);
171 segment._state._first = (first + 1) & (array.Length - 1);
172 return true;
173 }
174 return TryDequeueSlow(ref segment, ref array, out result);
175 }
bool TryDequeueSlow(ref Segment segment, ref T[] array, [MaybeNullWhen(false)] out T result)

References System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >._head, System.array, and System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >.TryDequeueSlow().