(1) program test1
c!$ use omp_lib
INTEGER TID,OMP_GET_THREAD_NUM
!$omp parallel private(i)
TID=OMP_GET_THREAD_NUM()
print *,'threadid:',TID
!$omp end parallel
end
若是不声明OMP_GET_THREAD_NUM,OMP_GET_NUM_THREADS那么不会得到正确的线程号和总线程数。
原因:??????
(2) 但是如果在开头使用"use omp_lib",则不需要声明。
但是在某些程序中还是得到 线程数 线程号为浮点数的现象
??????
原因:子程序里面没有重复声明use omp_lib.
并行编程中线程管理
本文探讨了在并行编程环境下如何正确管理和使用线程。重点介绍了在使用 OpenMP 库时,如何通过声明特定的函数来获取正确的线程标识符及线程总数,并解释了未声明相关函数导致的问题及其解决办法。
825






