Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
◆
IsEmpty
bool
System.Collections.Concurrent.ConcurrentBag
<
T
>.IsEmpty
get
Definition at line
347
of file
ConcurrentBag.cs
.
348
{
349
get
350
{
351
WorkStealingQueue
currentThreadWorkStealingQueue
=
GetCurrentThreadWorkStealingQueue
(
forceCreate
:
false
);
352
if
(
currentThreadWorkStealingQueue
!=
null
)
353
{
354
if
(!
currentThreadWorkStealingQueue
.IsEmpty)
355
{
356
return
false
;
357
}
358
if
(
currentThreadWorkStealingQueue
._nextQueue ==
null
&&
currentThreadWorkStealingQueue
==
_workStealingQueues
)
359
{
360
return
true
;
361
}
362
}
363
bool
lockTaken
=
false
;
364
try
365
{
366
FreezeBag
(
ref
lockTaken
);
367
for
(WorkStealingQueue workStealingQueue =
_workStealingQueues
; workStealingQueue !=
null
; workStealingQueue = workStealingQueue._nextQueue)
368
{
369
if
(!workStealingQueue.IsEmpty)
370
{
371
return
false
;
372
}
373
}
374
}
375
finally
376
{
377
UnfreezeBag
(
lockTaken
);
378
}
379
return
true
;
380
}
381
}
System.Collections.Concurrent.ConcurrentBag.UnfreezeBag
void UnfreezeBag(bool lockTaken)
Definition
ConcurrentBag.cs:697
System.Collections.Concurrent.ConcurrentBag.FreezeBag
void FreezeBag(ref bool lockTaken)
Definition
ConcurrentBag.cs:674
System.Collections.Concurrent.ConcurrentBag.GetCurrentThreadWorkStealingQueue
WorkStealingQueue GetCurrentThreadWorkStealingQueue(bool forceCreate)
Definition
ConcurrentBag.cs:445
System.Collections.Concurrent.ConcurrentBag._workStealingQueues
volatile WorkStealingQueue _workStealingQueues
Definition
ConcurrentBag.cs:309
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System
Collections
Concurrent
ConcurrentBag
Generated by
1.10.0