openmp菜鸟入门问题
1.运行OpenMP程序时新建OMP_NUM_THREADS系统变量,但不管将其值怎么改变,程序运行出来的结果都是4个线程。(我的是双核电脑),这是为什么啊?
2.两个简单简单的FOR语句输出问题:
代码:(OMP_NUM_THREADS=4)
#include <iostream>
using namespace std;
#include "omp.h"
void main()
{
int i,j;
for(i=1;i<4;i++)
{
#pragma omp parallel for
for(j=1;j<4;j++)
cout<<i<<","<<j<<endl;
}
}
出来的结果是:
111,,,231
222,,,213
333,,,213
问题:为什么出来的不是内层FOR循环的并行,而是这样的的结果啊?