Visual C++ 只有一个线程工作 (OpenMP)
Posted
技术标签:
【中文标题】Visual C++ 只有一个线程工作 (OpenMP)【英文标题】:Visual C++ has only one thread working (OpenMP) 【发布时间】:2015-10-17 08:41:34 【问题描述】:我有一个用于多线程应用程序的简单代码,但无论我传递多少线程,它都只使用一个线程执行。最初,我认为这是我的计算机的问题,但我尝试了另一台,它也没有工作。我有什么不对吗?如果有帮助,我正在使用 Visual Studio 2015。
int th_id, nthreads;
#pragma omp parallel private(th_id) shared(nthreads) num_threads(3)
th_id = omp_get_thread_num();
#pragma omp critical
cout << "Hello World from thread " << th_id << '\n';
#pragma omp barrier
#pragma omp master
nthreads = omp_get_num_threads();
cout << "There are " << nthreads << " threads" << '\n';
【问题讨论】:
【参考方案1】:您是否在项目属性对话框中激活了 OpenMP 支持? 您可以在“配置属性 -> C/C++ -> 语言”下找到它。
【讨论】:
以上是关于Visual C++ 只有一个线程工作 (OpenMP)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Microsoft Visual C++ 6.0 解决 __imp__open 和其他类似名称的函数的链接错误