マネージド スレッド処理の基本

このセクションの最初の 5 つの記事は、マネージド スレッド処理を使用するタイミングを判断するのに役立つように設計されており、また、いくつかの基本的な機能について説明するためのものです。 その他の機能を提供するクラスについては、「スレッド処理オブジェクトと機能」と「同期プリミティブの概要」を参照してください。

このセクションの残りの記事には、マネージド スレッド処理と Windows オペレーティング システムとの相互作用など、高度なトピックが含まれます。

注意

.NET Framework 4 以降、タスク並列ライブラリと PLINQ によって、マルチスレッド プログラムでのタスクとデータの並列処理のための API が提供されます。 詳細については、並列プログラミングに関するページをご覧ください。

このセクションの内容

スレッドおよびスレッド処理
複数のスレッドの利点と欠点について説明し、スレッドを作成またはスレッド プール スレッドを使用する可能性のあるシナリオの概要を示します。

マネージド スレッドの例外
さまざまなバージョンの .NET のスレッドでのハンドルされていない例外の動作、特に、アプリケーションの終了の原因となる状況について説明します。

マルチスレッド処理のためのデータの同期
複数のスレッドで使用されるクラスのデータを同期する方法について説明します。

フォアグラウンド スレッドとバックグラウンド スレッド
フォアグラウンド スレッドとバック グラウンド スレッドの違いについて説明します。

Windows でのマネージド スレッド処理とアンマネージド スレッド処理
マネージド スレッド処理とアンマネージド スレッド処理の関係について説明し、Windows のスレッド処理 API に相当するマネージド API をリストし、COM アパートメントとマネージド スレッドの相互作用について説明します。

スレッド ローカル ストレージ:スレッド相対静的フィールドとデータ スロット
スレッド相対ストレージ メカニズムについて説明します。

関連項目

ThreadThread クラスのリファレンス ドキュメントです。このクラスは、アンマネージド コードから作成されたか、マネージド アプリケーションで作成されたかにかかわらず、マネージド スレッドを表します。

BackgroundWorker ユーザー インターフェイス オブジェクトと共にマルチスレッドを実装するための安全な方法を提供します。

同期プリミティブの概要
複数のスレッドのアクティビティを同期するために使用されるマネージド クラスについて説明します。

マネージド スレッド処理の実施
マルチスレッドに関する一般的な問題と、問題を回避するための方法について説明します。

並列プログラミング
非同期およびマルチスレッドの .NET アプリケーションを作成する作業を大幅に簡素化する、タスク並列ライブラリと PLINQ について説明します。

System.Threading.Channels ライブラリ
プロデューサーとコンシューマーの間で非同期的にデータを渡すための一連の同期データ構造を提供する System.Threading.Channels ライブラリについて説明します。