Purpose
The omp_init_lock subroutine initializes a lock and associates it with the lock variable passed in as a parameter. After the call to omp_init_lock, the initial state of the lock variable is unlocked.
If you call this routine with a lock variable that you have already initialized, the result of the call is undefined.
Class
Subroutine.
Argument Type and Attributes
Result Type and Attributes
Result Value
Examples
USE omp_lib INTEGER(kind=omp_lock_kind) LCK INTEGER ID CALL omp_init_lock(LCK) !$OMP PARALLEL SHARED(LCK), PRIVATE(ID) ID = omp_get_thread_num() CALL omp_set_lock(LCK) PRINT *,'MY THREAD ID IS', ID CALL omp_unset_lock(LCK) !$OMP END PARALLEL CALL omp_destroy_lock(LCK)
In the above example, one at a time, the threads gain ownership of the lock
associated with the lock variable LCK, print the thread ID, and release
ownership of the lock.