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