A.31 Funções de bloqueio thread-safe
O exemplo de C++ a seguir demonstra como inicializar uma matriz de bloqueios em uma região paralela usando omp_init_lock (seção 3.2.1 na página 42).
Exemplo
Código
// 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 () {}