Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ TakeActiveRequest()

static bool System.Threading.PortableThreadPool.WorkerThread.TakeActiveRequest ( PortableThreadPool threadPoolInstance)
inlinestaticprivate

Definition at line 1168 of file PortableThreadPool.cs.

1169 {
1170 int num = threadPoolInstance._separated.numRequestedWorkers;
1171 while (num > 0)
1172 {
1173 int num2 = Interlocked.CompareExchange(ref threadPoolInstance._separated.numRequestedWorkers, num - 1, num);
1174 if (num2 == num)
1175 {
1176 return true;
1177 }
1178 num = num2;
1179 }
1180 return false;
1181 }

References System.Threading.PortableThreadPool._separated, System.Threading.Interlocked.CompareExchange(), and System.Threading.PortableThreadPool.CacheLineSeparated.numRequestedWorkers.

Referenced by System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart().