omp_init_lock (svar)
用途
omp_init_lock 子常式會起始設定鎖定,並將它與作為參數傳入的鎖定變數相關聯。 在呼叫 omp_init_lock之後,鎖定變數的起始狀態會解除鎖定。
如果您使用已起始設定的鎖定變數來呼叫此常式,則未定義呼叫的結果。
類別
子常式。
引數類型和屬性
- svar
- omp_lock_kind類型的整數。
結果類型和屬性
無。
結果值
無。
範例
在下列範例中,執行緒及其相關聯作業由平行區域產生,且一次一個,每一個作業都會取得與鎖定變數 LCK 相關聯之鎖定的所有權,列印執行緒 ID ,並釋放鎖定的所有權。
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)
END