2015-10-17 3 views
0

У меня есть этот простой код для многопоточного приложения, но независимо от количества потоков, которые я передаю, он выполняется только с одним потоком. Первоначально, я думал, что это проблема с моим компьютером, но я попытался по другому, и это тоже не сработало. Я что-то не так? Я использую Visual Studio 2015, если это поможет.Visual C++ имеет только один поток, работающий (OpenMP)

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'; 
    } 
} 

ответ

4

Вы активировали поддержку OpenMP в диалоговом окне свойств проекта? Вы можете найти его в разделе «Свойства конфигурации -> C/C++ -> Язык».

Смежные вопросы