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

◆ SpoolStopAndGo< TInputOutput, TIgnoreKey >()

static void System.Linq.Parallel.SpoolingTask.SpoolStopAndGo< TInputOutput, TIgnoreKey > ( QueryTaskGroupState groupState,
PartitionedStream< TInputOutput, TIgnoreKey > partitions,
SynchronousChannel< TInputOutput >[] channels,
TaskScheduler taskScheduler )
inlinestaticpackage

Definition at line 7 of file SpoolingTask.cs.

8 {
9 Task task = new Task(delegate
10 {
11 int num = partitions.PartitionCount - 1;
12 for (int i = 0; i < num; i++)
13 {
14 QueryTask queryTask = new StopAndGoSpoolingTask<TInputOutput, TIgnoreKey>(i, groupState, partitions[i], channels[i]);
15 queryTask.RunAsynchronously(taskScheduler);
16 }
17 QueryTask queryTask2 = new StopAndGoSpoolingTask<TInputOutput, TIgnoreKey>(num, groupState, partitions[num], channels[num]);
18 queryTask2.RunSynchronously(taskScheduler);
19 });
20 groupState.QueryBegin(task);
21 task.RunSynchronously(taskScheduler);
22 groupState.QueryEnd(userInitiatedDispose: false);
23 }

References System.Linq.Parallel.QueryTaskGroupState.QueryBegin(), System.Linq.Parallel.QueryTaskGroupState.QueryEnd(), System.Linq.Parallel.QueryTask.RunAsynchronously(), System.Linq.Parallel.QueryTask.RunSynchronously(), and System.task.