VC++ で multitprocess アプリケーションを作成し、system
MATLAB のコマンドでコマンド ライン引数を指定して実行しようとしました。実行されますが、1 つのコアでのみ --- 何か提案はありますか?
更新:実際には、2 番目のコアも表示されません。私は OpenMP を使用し、and を使用omp_get_max_threads()
しomp_get_thread_num()
てチェックし、MATLAB からアプリケーションを実行したときのomp_get_max_threads()
ようですが、コマンド ウィンドウから実行した場合は (予想どおり) です。1
2
質問:私のタスク マネージャは、CPU 使用率が 100% に近いと報告しています --- これは、前述の API が誤動作していて、まだマルチプロセス アプリケーションとして実行されていることを意味しますか?
確認:
Process Explorerを使用して、スレッド数に違いがあるかどうかを確認しました。
コマンドウィンドウからアプリケーションを呼び出すと、1
スレッドがアプリケーションcmd.exe
に2
行き来します。
MATLAB から呼び出すと、26
スレッドは for MATLAB.exe
、1
for cmd.exe
、および1
for のアプリケーションです。
何か案は?