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