// c++ main.cpp -fopenmp #include #include ///int const threads = 3; int main() { int threads = 3; int value = 0; std::cin >> threads; ///#pragma omp parallel ///#pragma omp parallel private(value) ///#pragma omp parallel reduction (+: value) ///#pragma omp parallel num_threads(threads) #pragma omp parallel reduction (+: value) num_threads(threads) { auto num = omp_get_thread_num(); ///value++; value = num+1; #pragma omp critical { std::cout << " thread " << num << ": value = " << value << std::endl; } } std::cout << " main thread " << omp_get_thread_num() << ": main value = " << value << std::endl; return 0; }