两种形式如下:
//for循环并行化声明形式1
#pragma omp parallel for
for (int i=0;i<10;i++)
{
cout<<i<<" "<< omp_get_thread_num()<<endl;
}
//for循环并行化声明形式2
#pragma omp parallel
{
#pragma omp for
for (int i = 0; i < 10; ++i)
{
for (int j = 0; j < 10; ++j)
{
c[i][j] =i+j;
cout<<omp_get_thread_num()<<" ";
}
cout<<endl;
}
}
输出两个线程,因为我的电脑是双核,没有做线程初始化,默认为双线程,如果电脑是N核的,默认的就是N线程,跟环境变量设置有关。