在C/C++有3个任务分担指令: for、sections、single, 严格意义上讲只有for和sections是任务分担指令, 而single只是协助任务分担的指令.
for
用于for循环中,...());
}
void parallel_section() {
#pragma omp parallel
{
#pragma omp sections...如下面的代码
#pragma omp parallel
{
#pragma omp for
for(.....)
}
可以写为
#pragma omp parallel for...负载不均衡
在for循环中, 如果每次循环之间花费的时间是不同的, 那么就可能出现负载不均衡问题, 下面代码模拟一下这种情况,
void test_schedule() {
int i,j, n...而对于嵌套锁来说, 可以被同一个线程上锁多次.