System.Threading 名前空間

System.Threading、System.Threading.Tasks、および System.Threading.Tasks.DataFlow の各名前空間には、マルチスレッド プログラミングを実現する型、そして同時実行コードおよび非同期コードを簡単に記述できる型が含まれています。

このトピックでは、Windows ストア アプリ用 .NET に含まれる、または Windows ストア アプリを作成するためにインストールして使用できる、System.Threading、System.Threading.Tasks、および System.Threading.Tasks.DataFlow の各名前空間の型を示します。Windows ストア アプリ用 .NET には、各型の一部のメンバーが含まれない点に注意してください。それぞれの型については、リンク先のトピックを参照してください。各型のドキュメントには、Windows ストア アプリ用 .NET に含まれるメンバーが示されています。

System.Threading.Tasks.Dataflow 名前空間をインストールするには、Visual Studio 2012 以降でプロジェクトを開き、[プロジェクト] メニューの [Manage NuGet Packages] をクリックし、Microsoft.Tpl.Dataflow パッケージをオンライン検索します。

System.Threading 名前空間

Windows ストア アプリ用 .NET でサポートされる型

説明

AbandonedMutexException

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

AutoResetEvent

イベントが発生したことを待機中のスレッドに通知します。このクラスは継承できません。

Barrier

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

BarrierPostPhaseException

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

CancellationToken

操作を取り消す通知を配信します。

CancellationTokenRegistration

CancellationToken に登録されているコールバック デリゲートを表します。

CancellationTokenSource

CancellationToken を取り消すことをそれに通知します。

CountdownEvent

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

EventResetMode

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

EventWaitHandle

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

Interlocked

複数のスレッドで共有される変数にアトミックの操作を提供します。

LazyInitializer

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

LazyThreadSafetyMode

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

LockRecursionException

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

LockRecursionPolicy

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

ManualResetEvent

イベントが発生したことを、1 つ以上の待機中のスレッドに通知します。このクラスは継承できません。

ManualResetEventSlim

ManualResetEvent の規模を小さくしたバージョンを提供します。

Monitor

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

Mutex

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

ReaderWriterLockSlim

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

Semaphore

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

SemaphoreFullException

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

SemaphoreSlim

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

SendOrPostCallback

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

SpinLock

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

SpinWait

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

SynchronizationContext

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

SynchronizationLockException

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

ThreadLocal<T>

データのスレッド ローカル ストレージを提供します。

Timeout

無限タイムアウト間隔を指定する定数を格納します。このクラスは継承できません。

Volatile

揮発性メモリの操作を実行するためのメソッドを格納します。

WaitHandle

共有リソースへの排他アクセスの待機に使用するオペレーティング システム固有のオブジェクトをカプセル化します。

WaitHandleCannotBeOpenedException

存在しないシステムのミューテックスまたはセマフォを開こうとした場合にスローされる例外。

System.Threading.Tasks 名前空間

Windows ストア アプリ用 .NET でサポートされる型

説明

ConcurrentExclusiveSchedulerPair

同時実行タスクは同時に実行され、排他的なタスクは同時に実行されないようにタスクの実行を調整する同時実行排他タスク スケジューラを提供します。

Parallel

並列ループおよび並列領域に対するサポートを提供します。

ParallelLoopResult

並列ループの実行の完了ステータスを示します。

ParallelLoopState

並列ループのイテレーションが他のイテレーションと対話できるようにします。このクラスのインスタンスは、Parallel クラスから各ループに提供されるため、ユーザー コードで作成することはできません。

ParallelOptions

Parallel クラスのメソッドの操作を構成するオプションを格納します。

Task

非同期操作を表します。

Task<TResult>

値を返すことができる非同期操作を表します。

TaskCanceledException

タスクの取り消しを通知するために使用される例外を表します。

TaskCompletionSource<TResult>

デリゲートにバインドされていない Task<TResult> のプロデューサー側を表し、TaskCompletionSource<T>.Task プロパティを通じてコンシューマー側へのアクセスを提供します。

TaskContinuationOptions

ContinueWith メソッドまたは Task<T>.ContinueWith メソッドを使用して作成されるタスクの動作を指定します。

TaskCreationOptions

タスクの作成および実行に関するオプションの動作を制御するフラグを指定します。

TaskExtensions

特定の種類の Task インスタンスを操作する静的 (Visual Basic の場合は共有) メソッドのセットを提供します。

TaskFactory

Task オブジェクトの作成とスケジュールのためのサポートを提供します。

TaskFactory<TResult>

Task<T> オブジェクトの作成とスケジュールのためのサポートを提供します。

TaskScheduler

スレッドのキューにタスクを置くという下位の作業を処理するオブジェクトを表します。

TaskSchedulerException

TaskScheduler による無効な操作があったことを通知するために使用される例外を表します。

TaskStatus

タスクのライフサイクルにおける現在のステージを表します。

UnobservedTaskExceptionEventArgs

エラーが発生したタスクの例外が無視されたときに発生するイベントに関するデータを提供します。

System.Threading.Tasks.DataFlow 名前空間

System.Threading.Tasks.Dataflow 名前空間をインストールするには、Visual Studio 2012 でプロジェクトを開き、[プロジェクト] メニューの [Manage NuGet Packages] を選択し、Microsoft.Tpl.Dataflow パッケージをオンライン検索します。

Windows ストア アプリ用 .NET でサポートされる型

説明

ActionBlock<TInput>

すべての受信データ要素の Action<T> の指定されたデリゲートを呼び出すデータフローのブロックを提供します。

BatchBlock<T>

入力を配列にバッチ処理するデータフロー ブロックを提供します。

BatchedJoinBlock<T1, T2>

1 つ以上のターゲットに適用された、型が異なる可能性のある指定された数の入力をバッチ処理するデータフロー ブロックを提供します。

BatchedJoinBlock<T1, T2, T3>

1 つ以上のターゲットに適用された、型が異なる可能性のある指定された数の入力をバッチ処理するデータフロー ブロックを提供します。

BroadcastBlock<T>

一度に最大で 1 個の要素を格納し、各メッセージを受信した次のメッセージで上書きするバッファーを提供します。メッセージは、メッセージの複製を使用する可能性のあるすべてのリンクされたターゲットにブロードキャストされます。

BufferBlock<T>

データを格納するバッファーを提供します。

DataflowBlock

データフロー ブロックを操作する静的 (Visual Basic の場合は共有) メソッドのセットを提供します。

DataflowBlockOptions

データ フロー ブロックで実行される処理の構成に使用するオプションを提供します。

DataflowLinkOptions

データフロー ブロック間のリンクを構成するために使用されるオプションを提供します。

DataflowMessageHeader

データフロー ブロック間で受け渡すデータ属性のコンテナーを提供します。

DataflowMessageStatus

データフロー ブロック間で渡されるとき、DataflowMessageHeader の状態を表します。

ExecutionDataflowBlockOptions

ユーザー指定デリゲートの呼び出しにより各メッセージを処理するデータフロー ブロックで実行される、処理の構成に使用するオプションを提供します。これらは ActionBlock<TInput> および TransformBlock<TInput, TOutput> のようなデータフローのブロックです。

GroupingDataflowBlockOptions

複数のメッセージを 1 つにグループ化するデータフロー ブロックで実行される処理の構成に使用するオプションを提供します。これらは JoinBlock<T1, T2> および BatchBlock<T> のようなデータフローのブロックです。

IDataflowBlock

データフロー ブロックを表します。

IPropagatorBlock<TInput, TOutput>

データのターゲットとデータのソースの両方であるデータフローのブロックを表します。

IReceivableSourceBlock<TOutput>

リンクせずにメッセージの受信をサポートするデータフロー ブロックを表します。

ISourceBlock<TOutput>

データのソースであるデータフロー ブロックを表します。

ITargetBlock<TInput>

データのターゲットであるデータフロー ブロックを表します。

JoinBlock<T1, T2>

型が異なる可能性のある複数のデータフロー ソース間で結合するデータフロー ブロックを提供します。このデータフロー ブロックは、型ごとに 1 つの項目が到着するのを待機してから、型ごとに 1 つの項目を含むタプルとしてまとめて解放されます。

JoinBlock<T1, T2, T3>

型が異なる可能性のある複数のデータフロー ソース間で結合するデータフロー ブロックを提供します。このデータフロー ブロックは、型ごとに 1 つの項目が到着するのを待機してから、型ごとに 1 つの項目を含むタプルとしてまとめて解放されます。

TransformBlock<TInput, TOutput>

すべての受信データ要素の Func<T, TResult> の指定されたデリゲートを呼び出すデータフローのブロックを提供します。

TransformManyBlock<TInput, TOutput>

すべての受信データ要素の Func<T, TResult> の指定されたデリゲートを呼び出すデータフローのブロックを提供します。

WriteOnceBlock<T>

データフロー ブロックのネットワークで、最大 1 個の要素を受け取り格納するバッファーを提供します。

参照

概念

Windows ストア アプリ用 .NET の API