C# Class Shared.RoundRobinThreadAffinedTaskScheduler

Inheritance: System.Threading.Tasks.TaskScheduler, IDisposable
显示文件 Open project: jbouzaglou/PetPigeonsESB

Public Methods

Method Description
Dispose ( ) : void
RoundRobinThreadAffinedTaskScheduler ( int numberOfThreads ) : System

Protected Methods

Method Description
GetScheduledTasks ( ) : IEnumerable
QueueTask ( Task task ) : void
TryExecuteTaskInline ( Task task, bool taskWasPreviouslyQueued ) : bool

Private Methods

Method Description
CreateThreads ( int numberOfThreads, int processorIndexes ) : void
RemoveThreadAffinity ( ) : void
SetThreadAffinity ( int processorIndex ) : void
ThreadStartWithAffinity ( int threadIndex, int processorIndexes ) : void

Method Details

Dispose() public method

public Dispose ( ) : void
return void

GetScheduledTasks() protected method

protected GetScheduledTasks ( ) : IEnumerable
return IEnumerable

QueueTask() protected method

protected QueueTask ( Task task ) : void
task Task
return void

RoundRobinThreadAffinedTaskScheduler() public method

public RoundRobinThreadAffinedTaskScheduler ( int numberOfThreads ) : System
numberOfThreads int
return System

TryExecuteTaskInline() protected method

protected TryExecuteTaskInline ( Task task, bool taskWasPreviouslyQueued ) : bool
task Task
taskWasPreviouslyQueued bool
return bool