C# 클래스 System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave

파일 보기 프로젝트 열기: bingyang001/disruptor-net-3.3.0-alpha 1 사용 예제들

Private Properties

프로퍼티 타입 설명
ConcurrentExclusiveInterleaveProcessor void
ExecuteConcurrentTask void
GetConcurrentTasksUntilExclusiveExists IEnumerable
GetExclusiveTasks IEnumerable
NotifyOfNewWork void

공개 메소드들

메소드 설명
ConcurrentExclusiveInterleave ( ) : System.Collections.Generic

Initialies the ConcurrentExclusiveInterleave.

ConcurrentExclusiveInterleave ( TaskScheduler targetScheduler ) : System.Collections.Generic

Initialies the ConcurrentExclusiveInterleave.

ConcurrentExclusiveInterleave ( TaskScheduler targetScheduler, bool exclusiveProcessingIncludesChildren ) : System.Collections.Generic

Initialies the ConcurrentExclusiveInterleave.

ConcurrentExclusiveInterleave ( bool exclusiveProcessingIncludesChildren ) : System.Collections.Generic

Initialies the ConcurrentExclusiveInterleave.

비공개 메소드들

메소드 설명
ConcurrentExclusiveInterleaveProcessor ( ) : void

The body of the async processor to be run in a Task. Only one should be running at a time.

This has been separated out into its own method to improve the Parallel Tasks window experience.

ExecuteConcurrentTask ( Task task ) : void

Runs a concurrent task.

This has been separated out into its own method to improve the Parallel Tasks window experience.

GetConcurrentTasksUntilExclusiveExists ( ) : IEnumerable

Gets an enumerable that yields waiting concurrent tasks one at a time until either there are no more concurrent tasks or there are any exclusive tasks.

GetExclusiveTasks ( ) : IEnumerable

Gets an enumerable that yields all of the exclusive tasks one at a time.

NotifyOfNewWork ( ) : void

Notifies the interleave that new work has arrived to be processed.

Must only be called while holding the lock.

메소드 상세

ConcurrentExclusiveInterleave() 공개 메소드

Initialies the ConcurrentExclusiveInterleave.
public ConcurrentExclusiveInterleave ( ) : System.Collections.Generic
리턴 System.Collections.Generic

ConcurrentExclusiveInterleave() 공개 메소드

Initialies the ConcurrentExclusiveInterleave.
public ConcurrentExclusiveInterleave ( TaskScheduler targetScheduler ) : System.Collections.Generic
targetScheduler TaskScheduler The target scheduler on which this interleave should execute.
리턴 System.Collections.Generic

ConcurrentExclusiveInterleave() 공개 메소드

Initialies the ConcurrentExclusiveInterleave.
public ConcurrentExclusiveInterleave ( TaskScheduler targetScheduler, bool exclusiveProcessingIncludesChildren ) : System.Collections.Generic
targetScheduler TaskScheduler The target scheduler on which this interleave should execute.
exclusiveProcessingIncludesChildren bool Whether the exclusive processing of a task should include all of its children as well.
리턴 System.Collections.Generic

ConcurrentExclusiveInterleave() 공개 메소드

Initialies the ConcurrentExclusiveInterleave.
public ConcurrentExclusiveInterleave ( bool exclusiveProcessingIncludesChildren ) : System.Collections.Generic
exclusiveProcessingIncludesChildren bool Whether the exclusive processing of a task should include all of its children as well.
리턴 System.Collections.Generic