A.31 线程安全的锁函数

下面的 C++ 示例在并行区域演示如何初始化数组锁定使用 omp_init_lock (在第 42 页) 的第3.2.1部分

示例

代码

// A_13_omp_init_lock.cpp
// compile with: /openmp
#include <omp.h>

omp_lock_t *new_locks() {
   int i;
   omp_lock_t *lock = new omp_lock_t[1000];
   #pragma omp parallel for private(i)
   for (i = 0 ; i < 1000 ; i++)
      omp_init_lock(&lock[i]);

   return lock;
}

int main () {}