C# 클래스 Microsoft.Languages.Editor.Tasks.IdleTimeAsyncTaskQueue

A queue of asynchronous tasks that are processed in the order they were added. As opposed to thread pool tasks only start on idle and queued task may be canceled if needed. There may be one or more tasks running in parallel depending on number of CPUs avaialable.
파일 보기 프로젝트 열기: Microsoft/RTVS 1 사용 예제들

공개 메소드들

메소드 설명
CancelTasks ( object tag ) : void

Removes tasks associated with a give callback

Enqueue ( Func taskAction, Action callbackAction, Action cancelAction, object tag ) : void

Add task to the idle time queue. Tasks are executed asynchronously in the order they were added. On next idle time if thread is available it will take task from the head of the queue and execute it. There may be one or more tasks running in parallel depending on number of CPUs avaialable.

Enqueue ( Func taskAction, Action callbackAction, object tag ) : void

Add task to the idle time queue. Tasks are executed asynchronously in the order they were added. On next idle time if thread is available it will take task from the head of the queue and execute it. There may be one or more tasks running in parallel depending on number of CPUs avaialable.

IdleTimeAsyncTaskQueue ( IEditorShell shell ) : System
IncreasePriority ( object tag ) : void

비공개 메소드들

메소드 설명
ConnectToIdle ( ) : void
DisconnectFromIdle ( ) : void
GetAvailableTask ( object tag, IdleTimeAsyncTask &worker ) : bool
OnIdle ( object sender, EventArgs e ) : void

메소드 상세

CancelTasks() 공개 메소드

Removes tasks associated with a give callback
public CancelTasks ( object tag ) : void
tag object
리턴 void

Enqueue() 공개 메소드

Add task to the idle time queue. Tasks are executed asynchronously in the order they were added. On next idle time if thread is available it will take task from the head of the queue and execute it. There may be one or more tasks running in parallel depending on number of CPUs avaialable.
public Enqueue ( Func taskAction, Action callbackAction, Action cancelAction, object tag ) : void
taskAction Func
callbackAction Action
cancelAction Action
tag object
리턴 void

Enqueue() 공개 메소드

Add task to the idle time queue. Tasks are executed asynchronously in the order they were added. On next idle time if thread is available it will take task from the head of the queue and execute it. There may be one or more tasks running in parallel depending on number of CPUs avaialable.
public Enqueue ( Func taskAction, Action callbackAction, object tag ) : void
taskAction Func
callbackAction Action
tag object
리턴 void

IdleTimeAsyncTaskQueue() 공개 메소드

public IdleTimeAsyncTaskQueue ( IEditorShell shell ) : System
shell IEditorShell
리턴 System

IncreasePriority() 공개 메소드

public IncreasePriority ( object tag ) : void
tag object
리턴 void