マルチスレッド・アプリケーションの作成

Visual Fortran は,マルチスレッド・アプリケーションの作成をサポートしています。アプリケーションが,キーボード入力と計算などの複数の作業を同時に管理する必要がある場合,複数のスレッドを使うことを検討してください。第 1 スレッドでキーボード入力を処理し,第 2 スレッドでデータ変換の計算を実行させることができます。また,第 3 スレッドで,キーボード・スレッドからのデータに基づいて,表示画面を更新させることも可能です。これらの処理と同時に,他のスレッドにディスク・ファイルを参照させたり,通信ポートからデータを取得させることができます。

マルチプロセッサー・マシン (「SMP マシン」と呼ばれることがあります) で Windows NT 4, Windows XP または Windows 2000 を使用している場合,作業を複数のスレッドに分割することで,数値計算を大幅に高速化することができます。オペレーティング・システムは個々のスレッドを異なるプロセッサーに割り当てます (対称型マルチプロセッシングまたは並列処理)。シングルプロセッサー・マシンであっても,マルチウィンドウ・アプリケーションはマルチスレッド化の恩恵を受けることができます。これは,個々のウィンドウにスレッドを割り当て,1 つのスレッドが入力を待っている間に,別のスレッドに計算を行わせることができるからです。

プログラムを複数のスレッドで実行すれば,実行速度が向上する可能性がありますが,スレッドの管理には負荷が伴います。プロジェクトの要件を評価して,複数のスレッドで実行すべきかどうかを判断するようにしてください。

マルチスレッド・コードが実行時ライブラリーの関数を呼び出す場合や,入出力を行う場合,通常のシングルスレッド版ではなく,マルチスレッド版の実行時ライブラリーとコードをリンクする必要があります。これについては,「マルチスレッド・プログラムのコンパイルとリンク」と「プログラムとライブラリーのビルド」で説明しています。

スレッド,プロセス,およびマルチスレッド化に関する参考資料については,「その他の情報」を参照してください。

関連情報