#include <omp.h>
#include <stdio.h>
int main(int argc ,char *argv[])
{
printf("hello the serial");
int i,j;
//开始并行执行
for(i=0;i<2;i++)
#pragma omp parallel
for(j=6;j<10;j++)
printf("i=%d,j=%d\n",i,j);
printf("Hello from serial again.\n");
return(0);
}
以上是源程序,
运行结果
i=0,j=6
i=0,j=6
i=0,j=7
i=0,j=8
i=0,j=9
i=1,j=6
i=1,j=6
i=1,j=7
i=1,j=8
i=1,j=9
Hello from serial again.
为什么 j=6 连续打印两次
求解释,很迷茫。。。
------解决方案--------------------------------------------------------
说明你的机器有两个处理器/核,因此自动生成两个OMP线程完成并行
你把 #pragma omp parallel 改成 #pragma omp parallel for 再试试就知道差别了
------解决方案--------------------------------------------------------
说明你的机器有两个处理器/核,因此自动生成两个OMP线程完成并行