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

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

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

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

マルチスレッド・コードがランタイム・ライブラリーの関数を呼び出す場合や、入出力を行う場合、通常のシングルスレッドではなく、マルチスレッドのランタイム・ライブラリーとコードをリンクする必要があります。

関連情報