マネージド スレッド処理Managed Threading

アプリケーションを開発する場合、対象のコンピューターがプロセッサがシングルまたはマルチのいずれの場合でも、アプリケーションにユーザーとの迅速な対話を提供する必要があります。これはアプリケーションがほかの処理の実行中であっても同じことです。Whether you are developing for computers with one processor or several, you want your application to provide the most responsive interaction with the user, even if the application is currently doing other work. アプリケーションによるユーザーへの迅速な応答を維持すると同時に、ユーザー イベントの合間やその処理中にプロセッサを使用する最も強力な方法は、複数の実行スレッドを使用することです。Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. ここでは、スレッド処理の基本概念について、マネージド スレッド処理の概念と使用方法を中心に説明します。While this section introduces the basic concepts of threading, it focuses on managed threading concepts and using managed threading.

注意

.NET Framework 4 以降では、System.Threading.Tasks.Parallel クラスおよび System.Threading.Tasks.Task クラス、Parallel LINQ (PLINQ)System.Collections.Concurrent 名前空間の新しい同時実行コレクション クラス、スレッドではなくタスクの概念を基にした新しいプログラミング モデルにより、マルチスレッド プログラミングが大幅に簡略化されています。Starting with the .NET Framework 4, multithreaded programming is greatly simplified with the System.Threading.Tasks.Parallel and System.Threading.Tasks.Task classes, Parallel LINQ (PLINQ), new concurrent collection classes in the System.Collections.Concurrent namespace, and a new programming model that is based on the concept of tasks rather than threads. 詳細については、並列プログラミングに関するページをご覧ください。For more information, see Parallel Programming.

このセクションの内容In This Section

マネージド スレッド処理の基本Managed Threading Basics
マネージド スレッド処理の概要と、マルチ スレッドをどのようなときに使用するかについて説明します。Provides an overview of managed threading and discusses when to use multiple threads.

スレッドの使用とスレッド処理Using Threads and Threading
スレッドの作成、開始、一時停止、再開、および中止について説明します。Explains how to create, start, pause, resume, and abort threads.

マネージド スレッド処理の実施Managed Threading Best Practices
同期のレベル、デッドロックと競合状態の回避方法、およびその他のスレッド処理に関する問題について説明します。Discusses levels of synchronization, how to avoid deadlocks and race conditions, and other threading issues.

スレッド処理オブジェクトと機能Threading Objects and Features
スレッドの動作や、別のスレッドによってアクセスされるオブジェクトのデータを同期するために使用するマネージド クラスについて説明し、スレッド プールのスレッドの概要を示します。Describes the managed classes you can use to synchronize the activities of threads and the data of objects accessed on different threads, and provides an overview of thread pool threads.

辞書/辞典/その他Reference

System.Threading
マネージド スレッドを使用したり同期したりするためのクラスを含みます。Contains classes for using and synchronizing managed threads.

System.Collections.Concurrent
複数のスレッドで使用する安全なコレクション クラスを含みます。Contains collection classes that are safe for use with multiple threads.

System.Threading.Tasks
同時処理タスクを作成およびスケジュールするためのクラスを含みます。Contains classes for creating and scheduling concurrent processing tasks.

アプリケーション ドメインApplication Domains
アプリケーション ドメインと、その共通言語インフラストラクチャでの使用に関する概要を示します。Provides an overview of application domains and their use by the Common Language Infrastructure.

非同期ファイル I/OAsynchronous File I/O
非同期 I/O のパフォーマンス上の利点と基本的な操作について説明します。Describes the performance advantages and basic operation of asynchronous I/O.

タスク ベースの非同期パターン (TAP)Task-based Asynchronous Pattern (TAP)
.NET での非同期プログラミングの推奨パターンの概要を示します。Provides an overview of the recommended pattern for asynchronous programming in .NET.

同期メソッドの非同期呼び出しCalling Synchronous Methods Asynchronously
デリゲートの組み込み機能を使用してスレッド プールのスレッドでメソッドを呼び出す方法を示します。Explains how to call methods on thread pool threads using built-in features of delegates.

並列プログラミングParallel Programming
アプリケーションで複数のスレッドを簡単に使用できるようにする並列プログラミング ライブラリについて説明します。Describes the parallel programming libraries, which simplify the use of multiple threads in applications.

Parallel LINQ (PLINQ)Parallel LINQ (PLINQ)
複数のプロセッサを利用するために、クエリを並列で実行するシステムについて説明します。Describes a system for running queries in parallel, to take advantage of multiple processors.