System.Threading 名前空間

マルチスレッド プログラミングを可能にするクラスとインターフェイスを提供します。 スレッド アクティビティとデータへのアクセス (MutexMonitorInterlockedAutoResetEventなど) を同期するためのクラスに加えて、この名前空間には、システム提供のスレッドのプールを使用できる 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 OVERLAPPED構造体のマネージド表現を提供します。

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

ThreadExceptionApplication イベントを処理するメソッドを表します。

ThreadStart

Threadで実行されるメソッドを表します。

TimerCallback

Timerからの呼び出しを処理するメソッドを表します。

WaitCallback

スレッド プール スレッドによって実行されるコールバック メソッドを表します。

WaitOrTimerCallback

WaitHandleが通知されるかタイムアウトしたときに呼び出されるメソッドを表します。