言語

JoinableTaskContext コンストラクター

定義

オーバーロード

名前 説明
JoinableTaskContext()

現在のスレッドがメイン スレッドであると仮定して、 JoinableTaskContext クラスの新しいインスタンスを初期化し、 Current は別のスレッドからメイン スレッドに切り替える手段を提供します。

JoinableTaskContext(Thread, SynchronizationContext)

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

JoinableTaskContext()

現在のスレッドがメイン スレッドであると仮定して、 JoinableTaskContext クラスの新しいインスタンスを初期化し、 Current は別のスレッドからメイン スレッドに切り替える手段を提供します。

public:
 JoinableTaskContext();
public:
 JoinableTaskContext();
 JoinableTaskContext();
public JoinableTaskContext();
Public Sub New ()

注釈

このコンストラクターの呼び出し時に Currentnull されている場合、 SwitchToMainThreadAsync(CancellationToken) を使用してメイン スレッドに切り替える要求はスレッド切り替えになりません。 これは、切り替えるメイン スレッドがない単体テスト環境や、メイン スレッドを定義しないプロセスに適しています。 スレッド セーフの問題: 同期コンテキストなしで構成した場合、コンカレンシーを回避する手段としてメイン スレッドを要求するコードが、データ競合状態のために誤動作する可能性があります。

適用対象

JoinableTaskContext(Thread, SynchronizationContext)

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

public JoinableTaskContext(System.Threading.Thread mainThread = default, System.Threading.SynchronizationContext synchronizationContext = default);
public JoinableTaskContext(System.Threading.Thread? mainThread = default, System.Threading.SynchronizationContext? synchronizationContext = default);
new Microsoft.VisualStudio.Threading.JoinableTaskContext : System.Threading.Thread * System.Threading.SynchronizationContext -> Microsoft.VisualStudio.Threading.JoinableTaskContext
Public Sub New (Optional mainThread As Thread = Nothing, Optional synchronizationContext As SynchronizationContext = Nothing)

パラメーター

mainThread
Thread

SwitchToMainThreadAsync(CancellationToken)で切り替えるスレッド。 null場合、現在のスレッドはメイン スレッドと見なされます。

synchronizationContext
SynchronizationContext

メイン スレッドに切り替えるために使用する同期コンテキスト。

nullを指定した場合 (または引数を省略した場合)、現在の同期コンテキストが使用されます。 Currentnull場合、SwitchToMainThreadAsync(CancellationToken)を使用してメイン スレッドに切り替える要求は、スレッド切り替えになりません。 これは、切り替えるメイン スレッドがない単体テスト環境や、メイン スレッドを定義しないプロセスに適しています。 スレッド セーフの問題: 同期コンテキストなしで構成した場合、コンカレンシーを回避する手段としてメイン スレッドを要求するコードが、データ競合状態のために誤動作する可能性があります。

適用対象