マネージド スレッド処理

アプリケーションを開発する場合、対象のコンピューターのプロセッサがシングルまたはマルチのいずれの場合でも、アプリケーションとの最も応答性の高い対話をユーザーに提供したいと考えます。これはアプリケーションがほかの処理の実行中であっても同じことです。 アプリケーションによるユーザーへの迅速な応答を維持すると同時に、ユーザー イベントの合間やその処理中にプロセッサを使用する最も強力な方法は、複数の実行スレッドを使用することです。 ここでは、スレッド処理の基本概念について、マネージド スレッド処理の概念と使用方法を中心に説明します。

注意

.NET Framework 4 以降では、System.Threading.Tasks.Parallel および System.Threading.Tasks.Task クラス、Parallel LINQ (PLINQ)System.Collections.Concurrent 名前空間の同時実行コレクション クラス、スレッドではなくタスクの概念に基づくプログラミング モデルによって、マルチスレッド プログラミングが大幅に簡略化されています。 詳細については、並列プログラミングに関するページをご覧ください。

このセクションの内容

マネージド スレッド処理の基本
マネージド スレッド処理の概要と、マルチ スレッドをどのようなときに使用するかについて説明します。

スレッドの使用とスレッド処理
スレッドの作成、開始、一時停止、再開、および中止について説明します。

マネージド スレッド処理の実施
同期のレベル、デッドロックと競合状態の回避方法、およびその他のスレッド処理に関する問題について説明します。

スレッド処理オブジェクトと機能
スレッドの動作や、別のスレッドによってアクセスされるオブジェクトのデータを同期するために使用するマネージド クラスについて説明し、スレッド プールのスレッドの概要を示します。

関連項目

System.Threading
マネージド スレッドを使用したり同期したりするためのクラスを含みます。

System.Collections.Concurrent
複数のスレッドで使用する安全なコレクション クラスを含みます。

System.Threading.Tasks
同時処理タスクを作成およびスケジュールするためのクラスを含みます。

アプリケーション ドメイン
アプリケーション ドメインと、その共通言語インフラストラクチャでの使用に関する概要を示します。

非同期ファイル I/O
非同期 I/O のパフォーマンス上の利点と基本的な操作について説明します。

タスク ベースの非同期パターン (TAP)
.NET での非同期プログラミングの推奨パターンの概要を示します。

同期メソッドの非同期呼び出し
デリゲートの組み込み機能を使用してスレッド プールのスレッドでメソッドを呼び出す方法を示します。

並列プログラミング
アプリケーションで複数のスレッドを簡単に使用できるようにする並列プログラミング ライブラリについて説明します。

Parallel LINQ (PLINQ)
複数のプロセッサを利用するために、クエリを並列で実行するシステムについて説明します。