前言
OpenMP 是基于共享内存模式的一种并行编程模型, 使用十分方便, 只需要串行程序中加入OpenMP预处理指令, 就可以实现串行程序的并行化....在程序执行的时候, 只有主线程在运行, 当遇到需要并行计算的区域, 会派生出线程来并行执行, 在并行执行的时候, 主线程和派生线程共同工作, 在并行代码结束后, 派生线程退出或者挂起, 不再工作, 控制流程回到单独的线程中...\n", omp_get_thread_num());
}
}
return 0;
}
然后使用gcc编译程序, 为了使用OpenMP需要加上-fopenmp选项
gcc...thread 1
The parallel region is executed by thread 3
The parallel region is executed by thread 0
在上面的代码中,...在上面的代码中, 我们并没有显式的指定线程的数量, OpenMP会根据下面的规则确定线程数量:
num_threads的设置
omp_set_num_threads()库函数的设置
OMP_NUM_THREADS