LabVIEWはスレッドをいくつ割り当てますか?

更新しました May 21, 2024

使用製品

ソフトウェア

  • LabVIEW Base
  • LabVIEW

問題

LabVIEWでは、スレッドをいくつ割り当てることができますか?

解決策

LabVIEWでのスレッド割り当ては動的であり、この質問に対する明確な数はありません。LabVIEWが割り当てるスレッドには、いくつかの種類があります。
 

  • 1つのユーザインタフェーススレッド。このスレッドは、画面描画とキーボード/マウス入力に使用されます。このスレッドは、プロパティノード、DLLなど特定の種類の実行にも使用されます。
     
  • 1対(2つ)のタイマースレッド。このスレッドは、LabVIEWの内部で使用されています。(Windows 95/NTでは、 内部で使用される追加のスレッドが1つ割り当てられています。)
     
  • 20個の実行スレッド(システムのCPUごと)。詳細については、追加情報セクションを参照してください。
     
  • Windows 95/NTでは、ActiveXクライアントインタフェースを使用してLabVIEWを制御する特定の操作にスレッドが動的に割り当てられます。


シングルプロセッサシステムでは、アプリケーションの起動時に23個または24個のスレッドが割り当てられます。ActiveXクライアントインタフェースを使用している場合は、VIの実行中にさらに割り当てられる可能性があります。

追加情報

実行スレッドに関するメモ:

LabVIEWには5つの「実行システム」があり、各実行システムは4つの優先度にスレッドがあります。これは、実行にも使用できるユーザインターフェイススレッドを除いて、20個のスレッドを占めます。システムに搭載されているプロセッサの数に基づいて実行スレッドが割り当てられるため、デュアルプロセッサコンピュータには40の実行スレッドと上記の他のスレッドがあります。



 

優先度に関するメモ: 

同じ実行システムに留まることが最も効率的であるため、サブルーチンVIは常に呼び出し元の実行システムを使用します。「バックグラウンド優先度」には通常、スレッドが割り当てられていません。この優先度で実行されているVIは、他に実行可能なものがない場合、次に優先度の高いスレッドを使用します。


上級ユーザは、threadconfig.viを実行してスレッド割り当て設定を調整できます。これは、コンピュータでsysinfo.llbを検索するか、このVIのファイルパスに直接移動して利用できます。デフォルトインストールでは、下記の場所に保存されています。ここでXXは、LabVIEWのバージョン番号です。

C:\Program Files (x86)\National Instruments\LabVIEW 20XX\vi.lib\Utility\sysinfo.llb\threadconfig.vi