System.Threading 名前空間

マルチスレッド プログラミングを実現するクラスとインターフェイスが用意されています。 この名前空間には、スレッドの動作やデータへのアクセスを同期するためのクラス (MutexMonitorInterlockedAutoResetEvent など) のほか、システムが提供するスレッド プールを使用するための ThreadPool クラス、スレッド プール スレッドでコールバック メソッドを実行するための Timer クラスも用意されています。

クラス

AbandonedMutexException

スレッドが、別のスレッドが解放せずに終了することによって放棄した Mutex オブジェクトを取得したときにスローされる例外。

AsyncLocal<T>

非同期メソッドなど、特定の非同期制御フローに対してローカルなアンビエント データを表します。

AutoResetEvent

通知を受けたときに、単一の待機中のスレッドを解放した後、自動的にリセットされるスレッドの同期イベントを表します。 このクラスは継承できません。

Barrier

複数のタスクが、複数のフェーズを通じて 1 つのアルゴリズムで並行して協調的に実行できるようにします。

BarrierPostPhaseException

Barrier のフェーズ後アクションに失敗したときにスローされる例外。

CancellationTokenSource

取り消す必要があることを CancellationToken に通知します。

CompressedStack

現在のスレッドで圧縮スタックの設定とキャプチャを行うメソッドを提供します。 このクラスは継承できません。

CountdownEvent

カウントが 0 になったときに通知される同期プリミティブを表します。

EventWaitHandle

スレッドの同期イベントを表します。

EventWaitHandleAcl

特定のアクセス制御リスト (ACL) セキュリティを使用して EventWaitHandle オブジェクトを作成するための Windows 固有の拡張メソッドを提供します。

ExecutionContext

現在のスレッドの実行コンテキストを管理します。 このクラスは継承できません。

HostExecutionContext

スレッド間でホストの実行コンテキストをカプセル化して反映させます。

HostExecutionContextManager

共通言語ランタイム ホストが実行コンテキストのフロー (移行) に参加するための機能を提供します。

Interlocked

複数のスレッドで共有される変数に分割不可能な操作を提供します。

LazyInitializer

遅延初期化ルーチンを提供します。

LockRecursionException

再帰的にロックに入る処理が、ロックの再帰ポリシーと互換性がない場合にスローされる例外。

ManualResetEvent

通知時に手動でリセットする必要のあるスレッド同期イベントを表します。 このクラスは継承できません。

ManualResetEventSlim

通知時に手動でリセットする必要のあるスレッド同期イベントを表します。 このクラスは ManualResetEvent の軽量版です。

Monitor

オブジェクトへのアクセスを同期する機構を提供します。

Mutex

同期プリミティブは、プロセス間の同期にも使用できます。

MutexAcl

特定のアクセス制御リスト (ACL) セキュリティを使用して Mutex オブジェクトを作成するための Windows 固有の拡張メソッドを提供します。

Overlapped

Overlapped インスタンスから NativeOverlapped 構造体に情報を転送するメソッドを含む、Win32 OVERLAPPED 構造体のマネージド表現を提供します。

PeriodicTimer

タイマー刻みに対して非同期に待機できるようにする定期的なタイマーを提供します。

PreAllocatedOverlapped

ネイティブの重複 I/O 操作に事前に割り当てられている状態を表します。

ReaderWriterLock

単一ライターと複数リーダーをサポートするロックを定義します。

ReaderWriterLockSlim

リソースへのアクセス管理に使用するロックを表し、複数のスレッドによる読み取りや排他アクセスでの書き込みを実現します。

RegisteredWaitHandle

RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean) を呼び出すときに登録されたハンドルを表します。 このクラスは継承できません。

Semaphore

リソースまたはリソースのプールに同時にアクセスできるスレッドの数を制限します。

SemaphoreAcl

特定のアクセス制御リスト (ACL) セキュリティを使用して Semaphore オブジェクトを作成するための、Windows 固有の拡張メソッドを提供します。

SemaphoreFullException

カウントが最大値に達しているセマフォで、Release メソッドが呼び出された場合にスローされる例外。

SemaphoreSlim

リソースまたはリソースのプールに同時にアクセスできるスレッドの数を制限する Semaphore の軽量版を表します。

SynchronizationContext

同期コンテキストをさまざまな同期モデルに反映するための基本機能を提供します。

SynchronizationLockException

指定した Monitor でロックを所有していることが呼び出し元の条件となるメソッドを、そのロックを所有していない呼び出し元が呼び出した場合にスローされる例外。

Thread

スレッドを作成および制御し、その優先順位の設定およびステータスの取得を実行します。

ThreadAbortException

Abort(Object) メソッドが呼び出されるときにスローされる例外。 このクラスは継承できません。

ThreadExceptionEventArgs

ThreadException イベントのデータを提供します。

ThreadingAclExtensions

EventWaitHandleMutex、および Semaphore のアクセス制御リスト (ACL) セキュリティ記述子を管理するための、Windows 固有の拡張メソッドを提供します。

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

アンマネージ コードから見えていて、OVERLAPPED 構造体の末尾にいくつかの予約フィールドを付加したものと同じレイアウトになる明示的レイアウトを提供します。

SpinLock

ロックが使用可能になるまで繰り返しチェックするループ内で、ロックを取得しようとするスレッドが待機する相互排他ロック プリミティブを提供します。

SpinWait

スピンベースの待機のサポートを提供します。

インターフェイス

IThreadPoolWorkItem

ThreadPool で実行できる作業項目を表します。

列挙型

ApartmentState

Thread のアパートメント状態を指定します。

EventResetMode

シグナルを受信した後で EventWaitHandle が自動的にリセットされるか、または手動でリセットされるかを示します。

LazyThreadSafetyMode

Lazy<T> インスタンスが複数のスレッド間でアクセスを同期する方法を指定します。

LockRecursionPolicy

同じスレッドが複数回ロックに入ることができるかどうかを指定します。

ThreadPriority

Thread のスケジューリング優先順位を指定します。

ThreadState

Thread の実行状態を指定します。

代理人

ContextCallback

新しいコンテキスト内で呼び出されるメソッドを表します。

IOCompletionCallback

I/O 操作がスレッド プールで完了すると、エラー コード、バイト数、および重複値型を受け取ります。

ParameterizedThreadStart

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

SendOrPostCallback

メッセージを同期コンテキストにディスパッチするときに呼び出すメソッドを表します。

ThreadExceptionEventHandler

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

ThreadStart

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

TimerCallback

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

WaitCallback

スレッド プール スレッドが実行するコールバック メソッドを表します。

WaitOrTimerCallback

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