次の方法で共有


3.2.4 omp_unset_lock 関数と omp_unset_nest_lock 関数

これらの関数は、ロックの所有権を解放する方法を提供します。形式は次のとおりです。

#include <omp.h>
void omp_unset_lock(omp_lock_t *lock);
void omp_unset_nest_lock(omp_nest_lock_t *lock);

どちらの関数の引数も、その関数を実行しているスレッドによって所有されている初期化済みのロック変数を指している必要があります。スレッドがそのロックを所有していない場合の動作は未定義です。

単純ロックでは、omp_unset_lock 関数が、関数を実行しているスレッドをロックの所有権から解放します。

入れ子にできるロックでは、omp_unset_nest_lock 関数が、入れ子カウントをデクリメントし、そのカウントが 0 になった場合、関数を実行するスレッドをロックの所有権から解放します。