我在 VC++ 中编写了一个多进程应用程序,并尝试使用system
来自 MATLAB 的命令使用命令行参数执行它。它运行,但只在一个核心上运行——有什么建议吗?
更新:事实上,它甚至没有看到第二个核心。当我从 MATLAB 执行应用程序时,我使用了 OpenMP 并使用omp_get_max_threads()
andomp_get_thread_num()
进行检查,但如果我从命令窗口运行它(如预期的那样),它似乎是omp_get_max_threads()
。1
2
问题:我的任务管理器报告 CPU 使用率接近 100% --- 这是否意味着上述 API 出现故障,它仍在作为多进程应用程序运行?
确认:
我使用Process Explorer检查线程数是否有任何差异。
当我从命令窗口调用应用程序时,线程1
会转到我的应用程序。cmd.exe
2
当我从 MATLAB 调用它时,26
线程是 for MATLAB.exe
、1
forcmd.exe
和1
for 我的应用程序。
有任何想法吗?