ImmediateScheduler

StockSharp.Xaml.Charting.Threading

タスクスケジューラを現行のスレッドで実行します。

継承元: TaskScheduler

プロパティ

MaximumConcurrencyLevel
public override int MaximumConcurrencyLevel { get; }
value = immediateScheduler.MaximumConcurrencyLevel

スケジュールのパラレルリズムを最大限に活用できます。

メソッド

GetScheduledTasks
protected override IEnumerable<Task> GetScheduledTasks()
result = immediateScheduler.GetScheduledTasks()

スケジュールを予定しているタスクを、このスケジューラに取得します。

戻り値: タスクがキューに入れられず、実行されるだけなので、空の列挙可能。

QueueTask
protected override void QueueTask(Task task)
immediateScheduler.QueueTask(task)

与えられたタスクを現在のスレッドで同期的に実行します。

task
実行するタスク。
TryExecuteTaskInline
protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
result = immediateScheduler.TryExecuteTaskInline(task, taskWasPreviouslyQueued)

与えられたタスクを現在のスレッドで同期的に実行します。

task
実行するタスク。
taskWasPreviouslyQueued
タスクがスケジューラにキューイングされたかどうか。

戻り値: タスクが正常に実行されたかどうかは、true です。そうしないと false です。