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

◆ ConcurrentExclusiveSchedulerPair() [4/4]

System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveSchedulerPair ( TaskScheduler taskScheduler,
int maxConcurrencyLevel,
int maxItemsPerTask )
inline

Definition at line 306 of file ConcurrentExclusiveSchedulerPair.cs.

307 {
308 if (taskScheduler == null)
309 {
310 throw new ArgumentNullException("taskScheduler");
311 }
313 {
314 throw new ArgumentOutOfRangeException("maxConcurrencyLevel");
315 }
316 if (maxItemsPerTask == 0 || maxItemsPerTask < -1)
317 {
318 throw new ArgumentOutOfRangeException("maxItemsPerTask");
319 }
323 int maximumConcurrencyLevel = taskScheduler.MaximumConcurrencyLevel;
325 {
327 }
328 if (m_maxConcurrencyLevel == -1)
329 {
330 m_maxConcurrencyLevel = int.MaxValue;
331 }
332 if (m_maxItemsPerTask == -1)
333 {
334 m_maxItemsPerTask = int.MaxValue;
335 }
336 m_exclusiveTaskScheduler = new ConcurrentExclusiveTaskScheduler(this, 1, ProcessingMode.ProcessingExclusiveTask);
337 m_concurrentTaskScheduler = new ConcurrentExclusiveTaskScheduler(this, m_maxConcurrencyLevel, ProcessingMode.ProcessingConcurrentTasks);
338 }

References System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_concurrentTaskScheduler, System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_exclusiveTaskScheduler, System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_maxConcurrencyLevel, System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_maxItemsPerTask, and System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_underlyingTaskScheduler.