System.Threading 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
マルチスレッド プログラミングを可能にするクラスとインターフェイスを提供します。 スレッド アクティビティとデータへのアクセス (Mutex、 Monitor、 Interlocked、 AutoResetEventなど) を同期するためのクラスに加えて、この名前空間には、システム提供のスレッドのプールを使用できる ThreadPool クラスと、スレッド プール スレッドでコールバック メソッドを実行する Timer クラスが含まれます。
クラス
| 名前 | 説明 |
|---|---|
| AbandonedMutexException |
あるスレッドが、解放せずに終了して別のスレッドが破棄した Mutex オブジェクトを取得したときにスローされる例外。 |
| AsyncLocal<T> |
非同期メソッドなど、特定の非同期制御フローに対してローカルなアンビエント データを表します。 |
| AutoResetEvent |
通知されると、1 つの待機中のスレッドを解放し、自動的にリセットするスレッド同期イベントを表します。 このクラスは継承できません。 |
| Barrier |
複数のタスクが複数のフェーズを通じて並行してアルゴリズムに対して協調的に動作できるようにします。 |
| BarrierPostPhaseException |
Barrierのフェーズ後アクションが失敗したときにスローされる例外。 |
| CancellationTokenSource |
取り消す必要があることを CancellationToken に通知します。 |
| CompressedStack |
現在のスレッドで圧縮スタックを設定およびキャプチャするためのメソッドを提供します。 このクラスは継承できません。 |
| CountdownEvent |
カウントが 0 に達したときに通知される同期プリミティブを表します。 |
| EventWaitHandle |
スレッド同期イベントを表します。 |
| ExecutionContext |
現在のスレッドの実行コンテキストを管理します。 このクラスは継承できません。 |
| HostExecutionContext |
ホスト実行コンテキストをカプセル化し、スレッド間で伝達します。 |
| HostExecutionContextManager |
共通言語ランタイム ホストが実行コンテキストのフローまたは移行に参加できるようにする機能を提供します。 |
| Interlocked |
複数のスレッドによって共有される変数にアトミック操作を提供します。 |
| LazyInitializer |
遅延初期化ルーチンを提供します。 |
| LockRecursionException |
ロックへの再帰エントリがロックの再帰ポリシーと互換性がない場合にスローされる例外。 |
| ManualResetEvent |
通知されたら手動でリセットする必要があるスレッド同期イベントを表します。 このクラスは継承できません。 |
| ManualResetEventSlim |
通知されたら手動でリセットする必要があるスレッド同期イベントを表します。 このクラスは、 ManualResetEventに代わる軽量なクラスです。 |
| Monitor |
オブジェクトへのアクセスを同期するメカニズムを提供します。 |
| Mutex |
プロセス間同期にも使用できる同期プリミティブ。 |
| Overlapped |
Overlapped インスタンスからNativeOverlapped構造体に情報を転送するメソッドを含む、Win32 |
| PreAllocatedOverlapped |
ネイティブの重複 I/O 操作に対して事前に割り当てられた状態を表します。 |
| ReaderWriterLock |
1 つのライターと複数のリーダーをサポートするロックを定義します。 |
| ReaderWriterLockSlim |
リソースへのアクセスを管理するために使用されるロックを表し、複数のスレッドが読み取りまたは書き込み専用アクセスを許可します。 |
| RegisteredWaitHandle |
RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)を呼び出すときに登録されたハンドルを表します。 このクラスは継承できません。 |
| Semaphore |
リソースまたはリソースのプールに同時にアクセスできるスレッドの数を制限します。 |
| SemaphoreFullException |
カウントが既に最大であるセマフォで Release メソッドが呼び出されたときにスローされる例外。 |
| SemaphoreSlim |
リソースまたはリソースのプールに同時にアクセスできるスレッドの数を制限する、 Semaphore の軽量な代替手段を表します。 |
| SynchronizationContext |
さまざまな同期モデルで同期コンテキストを伝達するための基本的な機能を提供します。 |
| SynchronizationLockException |
メソッドが特定のモニターでロックを所有する必要があり、そのロックを所有していない呼び出し元によってメソッドが呼び出される場合にスローされる例外。 |
| Thread |
スレッドを作成および制御し、その優先順位を設定し、その状態を取得します。 |
| ThreadAbortException |
Abort(Object) メソッドへの呼び出しが行われたときにスローされる例外。 このクラスは継承できません。 |
| ThreadExceptionEventArgs |
ThreadException イベントのデータを提供します。 |
| ThreadInterruptedException |
待機状態の間に Thread が中断されたときにスローされる例外。 |
| ThreadLocal<T> |
データのスレッド ローカル ストレージを提供します。 |
| ThreadPool |
タスクの実行、作業項目のポスト、非同期 I/O の処理、他のスレッドの代理待機、およびプロセス タイマーに使用できるスレッドのプールを提供します。 |
| ThreadPoolBoundHandle |
システム スレッド プールにバインドされ、下位レベルのコンポーネントが非同期 I/O 操作の通知を受信できるようにする I/O ハンドルを表します。 |
| ThreadStartException |
基になるオペレーティング システム スレッドが開始された後、スレッドがユーザー コードを実行する準備が整う前に、マネージド スレッドでエラーが発生した場合にスローされる例外。 |
| ThreadStateException |
Threadがメソッド呼び出しの無効なThreadStateにある場合にスローされる例外。 |
| Timeout |
無限のタイムアウト間隔を指定する定数を含みます。 このクラスは継承できません。 |
| Timer |
指定した間隔でスレッド プール スレッドでメソッドを実行するためのメカニズムを提供します。 このクラスは継承できません。 |
| Volatile |
揮発性メモリ操作を実行するためのメソッドが含まれています。 |
| WaitHandle |
共有リソースへの排他アクセスを待機するオペレーティング システム固有のオブジェクトをカプセル化します。 |
| WaitHandleCannotBeOpenedException |
存在しないシステム ミューテックス、セマフォ、またはイベント待機ハンドルを開こうとしたときにスローされる例外。 |
| WaitHandleExtensions |
待機ハンドルのセーフ ハンドルを操作するための便利なメソッドを提供します。 |
構造体
| 名前 | 説明 |
|---|---|
| AsyncFlowControl |
スレッド間の実行コンテキストの移行 (フロー) を復元する機能を提供します。 |
| AsyncLocalValueChangedArgs<T> |
変更通知に登録する AsyncLocal<T> インスタンスにデータ変更情報を提供するクラス。 |
| CancellationToken |
操作を取り消す必要があることを示す通知を伝達します。 |
| CancellationTokenRegistration |
CancellationTokenに登録されているコールバック デリゲートを表します。 |
| LockCookie |
シングル ライター/マルチリーダー セマンティクスを実装するロックを定義します。 これは値型です。 |
| NativeOverlapped |
アンマネージ コードから表示され、末尾に追加の予約フィールドがある Win32 OVERLAPPED 構造体と同じレイアウトを持つ明示的なレイアウトを提供します。 |
| SpinLock |
ロックを取得しようとしているスレッドが、ロックが使用可能になるまで繰り返しチェックを繰り返し待機する相互除外ロック プリミティブを提供します。 |
| SpinWait |
スピンベースの待機のサポートを提供します。 |
列挙型
| 名前 | 説明 |
|---|---|
| ApartmentState |
Threadのアパートメント状態を指定します。 |
| EventResetMode |
信号を受信した後、EventWaitHandle を自動的にリセットするか手動でリセットするかを示します。 |
| LazyThreadSafetyMode |
Lazy<T> インスタンスが複数のスレッド間でアクセスを同期する方法を指定します。 |
| LockRecursionPolicy |
同じスレッドでロックを複数回入力できるかどうかを指定します。 |
| ThreadPriority |
Threadのスケジューリング優先度を指定します。 |
| ThreadState |
Threadの実行状態を指定します。 |
代理人
| 名前 | 説明 |
|---|---|
| ContextCallback |
新しいコンテキスト内で呼び出されるメソッドを表します。 |
| IOCompletionCallback |
スレッド プールで I/O 操作が完了すると、エラー コード、バイト数、および重複する値の種類を受け取ります。 |
| ParameterizedThreadStart |
Threadで実行されるメソッドを表します。 |
| SendOrPostCallback |
メッセージが同期コンテキストにディスパッチされるときに呼び出されるメソッドを表します。 |
| ThreadExceptionEventHandler |
ThreadExceptionのApplication イベントを処理するメソッドを表します。 |
| ThreadStart |
Threadで実行されるメソッドを表します。 |
| TimerCallback |
Timerからの呼び出しを処理するメソッドを表します。 |
| WaitCallback |
スレッド プール スレッドによって実行されるコールバック メソッドを表します。 |
| WaitOrTimerCallback |
WaitHandleが通知されるかタイムアウトしたときに呼び出されるメソッドを表します。 |