言語

JoinableTaskFactory クラス

定義

タスクがアプリケーションのメイン スレッドを必要とし、メイン スレッド自体がタスクの完了時にブロックしている可能性がある場合に、デッドロックを軽減できる非同期タスクを開始するためのファクトリ。

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
継承
JoinableTaskFactory
派生

注釈

詳細なコメントについては、 JoinableTaskContextを参照してください。

コンストラクター

名前 説明
JoinableTaskFactory(JoinableTaskCollection)

生成されたすべてのジョブを指定したコレクションに追加する JoinableTaskFactory クラスの新しいインスタンスを初期化します。

JoinableTaskFactory(JoinableTaskContext)

JoinableTaskFactory クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Context

このファクトリが属する参加可能なタスク コンテキストを取得します。

HangDetectionTimeout

同期的にブロックしている間にアクティビティが停止したことを示すタイムアウトを取得または設定します。

UnderlyingSynchronizationContext

ホスト内のメイン スレッドを制御する基になる SynchronizationContext を取得します。

メソッド

名前 説明
Add(JoinableTask)

指定した結合可能なタスクを該当するコレクションに追加します。

DisableProcessing()

フィルター処理されたメッセージ ポンプが、アンビエント JoinableTaskの同期待機中に実行されないようにします。

IsWaitingOnLongRunningTask()

現在の joinableTask が実行時間の長いタスクを待機しているかどうかを確認します。

OnTransitionedToMainThread(JoinableTask, Boolean)

参加可能なタスクがメイン スレッドへの移行を完了するたびに発生します。

OnTransitioningToMainThread(JoinableTask)

参加可能なタスクがメイン スレッドへの移行を要求したときに発生します。

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

メイン スレッドが自由に使用できる場合に処理するために、指定した基になる SynchronizationContext にメッセージを投稿します。

Run(Func<Task>, JoinableTaskCreationOptions)

呼び出し元のスレッドを同期的にブロックしながら、指定した非同期メソッドを実行して完了します。

Run(Func<Task>)

呼び出し元のスレッドを同期的にブロックしながら、指定した非同期メソッドを実行して完了します。

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

呼び出し元のスレッドを同期的にブロックしながら、指定した非同期メソッドを実行して完了します。

Run<T>(Func<Task<T>>)

呼び出し元のスレッドを同期的にブロックしながら、指定した非同期メソッドを実行して完了します。

RunAsync(Func<Task>, JoinableTaskCreationOptions)

呼び出し元のスレッドで非同期デリゲートを呼び出し、非同期メソッドが生成されたときに呼び出し元に戻ります。 非同期デリゲートは、非同期メソッドの完了を待機しているメイン スレッドがブロックされている間に、非同期メソッドがメイン スレッドを必要とする場合にデッドロックを軽減するように呼び出されます。

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

タスクがアプリケーションのメイン スレッドを必要とし、メイン スレッド自体がタスクの完了時にブロックしている可能性がある場合に、デッドロックを軽減できる非同期タスクを開始するためのファクトリ。

RunAsync(Func<Task>)

呼び出し元のスレッドで非同期デリゲートを呼び出し、非同期メソッドが生成されたときに呼び出し元に戻ります。 非同期デリゲートは、非同期メソッドの完了を待機しているメイン スレッドがブロックされている間に、非同期メソッドがメイン スレッドを必要とする場合にデッドロックを軽減するように呼び出されます。

RunAsync<T>(Func<Task<T>>, JoinableTaskCreationOptions)

呼び出し元のスレッドで非同期デリゲートを呼び出し、非同期メソッドが生成されたときに呼び出し元に戻ります。 非同期デリゲートは、非同期メソッドの完了を待機しているメイン スレッドがブロックされている間に、非同期メソッドがメイン スレッドを必要とする場合にデッドロックを軽減するように呼び出されます。

RunAsync<T>(Func<Task<T>>, String, JoinableTaskCreationOptions)

タスクがアプリケーションのメイン スレッドを必要とし、メイン スレッド自体がタスクの完了時にブロックしている可能性がある場合に、デッドロックを軽減できる非同期タスクを開始するためのファクトリ。

RunAsync<T>(Func<Task<T>>)

呼び出し元のスレッドで非同期デリゲートを呼び出し、非同期メソッドが生成されたときに呼び出し元に戻ります。 非同期デリゲートは、非同期メソッドの完了を待機しているメイン スレッドがブロックされている間に、非同期メソッドがメイン スレッドを必要とする場合にデッドロックを軽減するように呼び出されます。

SwitchToMainThreadAsync(Boolean, CancellationToken)

デッドロックと再入の両方を軽減する方法で、このインスタンスが初期化された同期コンテキストで継続を実行する待機可能なユーザーを取得します。

SwitchToMainThreadAsync(CancellationToken)

デッドロックと再入の両方を軽減する方法で、メイン スレッドで継続を実行する待機可能な文字列を取得します。

WaitSynchronously(Task)

指定したタスクが完了するまで、呼び出し元のスレッドを同期的にブロックします。 メイン スレッドで実行されている場合、スレッドがスリープしている間、該当するメッセージ ポンプは抑制されます。

WaitSynchronouslyCore(Task)

指定したタスクが完了するまで、呼び出し元のスレッドを同期的にブロックします。

拡張メソッド

名前 説明
Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

キャンセル可能な非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 操作に時間がかかりすぎる場合は、必要に応じてキャンセル可能な待機ダイアログが表示されます。

Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 操作に時間がかかりすぎる場合は、必要に応じてキャンセル可能な待機ダイアログが表示されます。

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 キャンセルはユーザーに提供されます。

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 キャンセルはユーザーに提供されません。

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

キャンセル可能な非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 操作に時間がかかりすぎる場合は、必要に応じてキャンセル可能な待機ダイアログが表示されます。

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 操作に時間がかかりすぎる場合は、必要に応じてキャンセル可能な待機ダイアログが表示されます。

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 キャンセルはユーザーに提供されます。

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

非同期操作が完了するまで、呼び出し元 (UI) スレッドをブロックします。 キャンセルはユーザーに提供されません。

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

非同期メソッドの呼び出しをラップして、非同期的に実行できますが、将来同期的に完了 (待機中) になる可能性があります。

RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>)

非同期メソッドの呼び出しをラップして、非同期的に実行できますが、将来同期的に完了 (待機中) になる可能性があります。

RunAsyncAsVsTask<T>(JoinableTaskFactory, VsTaskRunContext, Func<CancellationToken,Task<T>>)

取り消し可能な非同期操作を追跡する IVsTask を作成します。

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

呼び出し元から UI スレッドに要求を継承せずに、UI スレッドでバックグラウンド実行のデリゲートをスケジュールします。

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

呼び出し元から UI スレッドに要求を継承せずに、UI スレッドでバックグラウンド実行のデリゲートをスケジュールします。

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

指定したDispatcherDispatcherPriorityで作業をスケジュールするJoinableTaskFactoryを作成します。

WithPriority(JoinableTaskFactory, VsTaskRunContext)

指定したVisual Studio UI スレッド優先度で作業をスケジュールするJoinableTaskFactoryを作成します。

適用対象

スレッド セーフ

この型は、すべてのメンバーに対してスレッド セーフです。