スレッド オブジェクトの実行
Execute メソッドを記述してスレッドクラスを実装したら,アプリケーションでスレッドクラスを使用して,Execute メソッドのコードを起動できます。スレッドを使用するには,まずそのスレッドクラスのインスタンスを作成します。スレッドインスタンスを作成して,すぐに実行を開始させることもできますが,一時停止の状態でスレッドを作成しておいて,Resume メソッドが呼び出されたときに実行を開始させることもできます。すぐに開始するようにスレッドを作成するには,コンストラクタの CreateSuspended パラメータを False に設定します。たとえば,次の行はスレッドを作成してすぐに実行を開始します。
SecondThread := TMyThread.Create(false); {スレッドを作成して実行 }
TMyThread *SecondThread = new TMyThread(false); // スレッドを作成して実行
警告: アプリケーション内にスレッドをたくさん作りすぎてはなりません。複数のスレッドを管理するために必要となるオーバーヘッドが増加し,システム全体に悪影響を与えることがあります。シングルプロセッサシステムの場合は,プロセス当たりのスレッド数を 16 個以下に抑えてください。この制限は,ほとんどのスレッドが外部イベント待ち状態であることを想定した場合です。同時に実行されるスレッドが増える場合はさらに小さい値にしなければなりません。
同じ型のスレッドのインスタンスを複数作成して,並列にコードを実行させることもできます。たとえば,あるユーザー動作に応答してスレッドのインスタンスを新たに作成し,それぞれのスレッドに対応する応答を処理させることができます。
アプリケーションでのスレッド使い方について,以下のトピックで説明します。