Fortran openmp临界段变量

Fortran openmp临界段变量,fortran,openmp,Fortran,Openmp,假设变量A在OpenMP临界区主体内修改,也假设该变量A在临界区外修改,没有临界构造,但仍在并行区内。我只是想知道当一个线程在关键区域内时,关键部分是否会保护对这个变量的更新(可能发生在外部)?谢谢。否,关键部分仅“保护”该部分内部的更新。对关键部分之外的“受保护”变量的任何更新都会使这些变量不受保护。不要忘记,临界区意味着一次只有一个线程执行它(临界区)包含的代码 这似乎是完全显而易见的,所以我想知道你为什么要问这个问题,也许你想实现什么

假设变量A在OpenMP临界区主体内修改,也假设该变量A在临界区外修改,没有临界构造,但仍在并行区内。我只是想知道当一个线程在关键区域内时,关键部分是否会保护对这个变量的更新(可能发生在外部)?谢谢。

否,关键部分仅“保护”该部分内部的更新。对关键部分之外的“受保护”变量的任何更新都会使这些变量不受保护。不要忘记,临界区意味着一次只有一个线程执行它(临界区)包含的代码

这似乎是完全显而易见的,所以我想知道你为什么要问这个问题,也许你想实现什么