マルチタスク処理、マルチスレッド処理、およびマルチプロセッシング



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ
LabVIEW 2020ヘルプ

マルチタスク処理とは、オペレーティングシステム上で複数タスクが同時に実行されているように見えるほどすばやく切り替える機能です。Windows 3.1では、タスクはMicrosoft Word、Microsoft Excel、LabVIEWなど、アプリケーション全体を指します。各アプリケーションは、次のアプリケーションに移行するまでの間、短い時間実行されます。Windows 3.1では、協調的マルチタスクと呼ばれる技術が使用されています。この技術では、実行中のアプリケーションが一定の間隔でプロセッサの制御をオペレーティングシステムに明け渡します。Windowsでは、現在実行中のアプリケーションの状態に関係なく常にオペレーティングシステムがプロセッサを制御するプリエンプティブマルチタスクが使用されています。プリエンプティブマルチタスクでは、応答が高速になりデータスループットが向上します。

マルチスレッド処理は、単一のアプリケーションの特定の操作が個々のスレッドに分割され、それぞれが理論的に並列に実行されるよう、マルチタスク処理の発想をアプリケーションに広げたものです。オペレーティングシステムによって、さまざまなアプリケーション間だけでなく、1つのアプリケーション内のスレッド間で、処理時間の分割が可能となります。たとえば、LabVIEWのマルチスレッド処理プログラムでは、アプリケーションは、インタフェーススレッド、データ集録スレッド、計測器制御スレッドの3つのスレッドに分割することが可能です。それぞれのスレッドには優先度を割り当てることができ、また、スレッドはそれぞれ独立して動作します。このように、マルチスレッド処理のアプリケーションでは、複数のタスクを他のアプリケーションと並列に進行させることができます。

マルチプロセシング(マルチコアプログラミング)とは、別のスレッドを同時に実行できる1つのコンピュータの複数のプロセッサのことです。シングルスレッドのアプリケーションでは、一度に1つのプロセッサしか実行できません。マルチスレッド処理のアプリケーションでは、複数のプロセッサで同時に実行する複数の別々のスレッドを使用することができます。LabVIEWのマルチスレッド処理の例では、ユーザインタフェーススレッドが1つのプロセッサで実行している間、データ集録スレッドがもう1つのプロセッサで実行することができます。シングルスレッドのアプリケーションはシステムのパフォーマンスに大きな影響を及ぼす可能性があります。

メモ  LabVIEW Desktop Execution Trace(デスクトップ実行トレース)ツールキットを使用して、スレッド使用率、メモリリーク、LabVIEWプログラミングに関するその他の点を監視することもできます。


この記事は役に立ちましたか。

役に立たなかった