Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros
System.Threading.ThreadPoolWorkQueue Class Referencesealed

Classes

struct  CacheLineSeparated
 
class  WorkStealingQueue
 
class  WorkStealingQueueList
 

Public Member Functions

 ThreadPoolWorkQueue ()
 
ThreadPoolWorkQueueThreadLocals GetOrCreateThreadLocals ()
 
void RefreshLoggingEnabled ()
 
void RefreshLoggingEnabledFull ()
 
void EnqueueTimeSensitiveWorkItem (IThreadPoolWorkItem timeSensitiveWorkItem)
 
IThreadPoolWorkItem TryDequeueTimeSensitiveWorkItem ()
 
void Enqueue (object callback, bool forceGlobal)
 
object Dequeue (ThreadPoolWorkQueueThreadLocals tl, ref bool missedSteal)
 

Package Functions

void EnsureThreadRequested ()
 
void MarkThreadRequestSatisfied ()
 

Static Package Functions

static bool LocalFindAndPop (object callback)
 
static bool Dispatch ()
 

Package Attributes

bool loggingEnabled
 
readonly ConcurrentQueue< object > workItems = new ConcurrentQueue<object>()
 
readonly ConcurrentQueue< IThreadPoolWorkItemtimeSensitiveWorkQueue = (ThreadPool.SupportsTimeSensitiveWorkItems ? new ConcurrentQueue<IThreadPoolWorkItem>() : null)
 

Properties

static long LocalCount [get]
 
long GlobalCount [get]
 

Private Member Functions

ThreadPoolWorkQueueThreadLocals CreateThreadLocals ()
 

Static Private Member Functions

static void DispatchWorkItemWithWorkerTracking (object workItem, Thread currentThread)
 
static void DispatchWorkItem (object workItem, Thread currentThread)
 

Private Attributes

CacheLineSeparated _separated
 

Detailed Description

Definition at line 10 of file ThreadPoolWorkQueue.cs.


The documentation for this class was generated from the following file: