JoinableTaskContext コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| JoinableTaskContext() |
現在のスレッドがメイン スレッドであると仮定して、 JoinableTaskContext クラスの新しいインスタンスを初期化し、 Current は別のスレッドからメイン スレッドに切り替える手段を提供します。 |
| JoinableTaskContext(Thread, SynchronizationContext) |
JoinableTaskContext クラスの新しいインスタンスを初期化します。 |
JoinableTaskContext()
現在のスレッドがメイン スレッドであると仮定して、 JoinableTaskContext クラスの新しいインスタンスを初期化し、 Current は別のスレッドからメイン スレッドに切り替える手段を提供します。
public:
JoinableTaskContext();
public:
JoinableTaskContext();
JoinableTaskContext();
public JoinableTaskContext();
Public Sub New ()
注釈
このコンストラクターの呼び出し時に Current が null されている場合、 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を指定した場合 (または引数を省略した場合)、現在の同期コンテキストが使用されます。
Currentもnull場合、SwitchToMainThreadAsync(CancellationToken)を使用してメイン スレッドに切り替える要求は、スレッド切り替えになりません。
これは、切り替えるメイン スレッドがない単体テスト環境や、メイン スレッドを定義しないプロセスに適しています。
スレッド セーフの問題: 同期コンテキストなしで構成した場合、コンカレンシーを回避する手段としてメイン スレッドを要求するコードが、データ競合状態のために誤動作する可能性があります。