スレッド結合の技術サンプル

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

このサンプルでは、1 つのスレッドが別のスレッドの終了を待機する、つまり 1 つのスレッドを別のスレッドに "結合" できるようにする、共通言語ランタイムのスレッド処理機能の例を示します。 このサンプルでは、別のスレッドを作成し、それを App クラスの静的メソッド上で起動します。 第 1 のスレッドは Join メソッドを呼び出し、第 2 のスレッドの完了を待機します。

スレッド処理の詳細については、ソース コード ファイルのコメントを参照してください。

このサンプルの使用方法の詳細については、次のトピックを参照してください。

コマンド プロンプトを使用してサンプルをビルドするには

  1. コマンド プロンプト ウィンドウを開き、サンプルの使用言語に対応するサブディレクトリに移動します。

  2. 使用するプログラミング言語に応じて、コマンド ラインで「msbuild JoinThreadCS.sln」または「msbuild JoinThreadVB.sln」と入力します。

Visual Studio を使用してサンプルをビルドするには

  1. Windows エクスプローラを開き、このサンプルの使用言語に対応するサブディレクトリに移動します。

  2. 使用するプログラミング言語に応じてファイル JoinThreadCS.sln のアイコンまたは JoinThreadVB.sln のアイコンをダブルクリックして、そのファイルを Visual Studio で開きます。

  3. [ビルド] メニューの [ソリューションのビルド] をクリックします。

サンプルを実行するには

  1. コマンド プロンプトを使用して、ビルドした実行可能ファイルが格納されているディレクトリに移動します。

  2. コマンド ラインで「JoinThread.exe」と入力します。

注意

このサンプルでは、コンソール アプリケーションをビルドします。出力を表示するには、これをコマンド プロンプト ウィンドウで実行する必要があります。

解説

以下の項目に、このサンプルで使用されているクラスおよび技術について簡単に説明します。

  • スレッドの同期

    • Thread このサンプルは、まず新しいスレッドを作成し、その Start メソッドを呼び出します。 次に、Join メソッドを使用して、新しいスレッドの終了を待機します。 待機しないと、2 つのスレッド間で競合状態が発生します。 その場合、アプリケーションを終了しないと第 2 のスレッドの処理が完了しません。
  • デリゲート

    • ThreadStart スレッド用のタイプ セーフなコールバック メソッドの作成に使用します。

See Also

Reference

AutoResetEvent

Delegate

Interlocked

Mutex

System.Threading

ThreadPool

WaitCallback

WaitHandle

Concepts

スレッドおよびスレッド処理

Other Resources

スレッド処理オブジェクトと機能