omp_get_thread_num为0,真是奇怪了。
1)
#pragma omp parallel{printf("线程号: %d\n", omp_get_thread_num());}printf("s126, Outside Parallel Region: Thread Num = %d\n", omp_get_thread_num());
最后输出是这个:
s126, Outside Parallel Region: Thread Num = 0
2)
如果在后面直接return 1。则输出结果正常:
线程号: 3
线程号: 0
线程号: 2
线程号: 1
s126, Outside Parallel Region: Thread Num = 0
太奇怪了。说明OMP确实有作用,但是……。
3)
后面想了一下没有错,实际上不在并行区域内的话,只有一个线程,当然就为0了