Поделиться через


A.31 Потокобезопасные функции блокировки

В следующем примере показано, как инициализировать массив блокирует C++ в параллельной области с помощью omp_init_lock (Раздел 3.2.1 на странице 42).

Пример

Код

// 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 () {}