次の方法で共有


3.2.5 omp_test_lock 関数と omp_test_nest_lock 関数

これらの関数はロックを試みますが、スレッドの実行はブロックしません。 形式は次のとおりです。

#include <omp.h>
int omp_test_lock(omp_lock_t *lock);
int omp_test_nest_lock(omp_nest_lock_t *lock);

引数は初期化されたロック変数を指している必要があります。 これらの関数は、omp_set_lock および omp_set_nest_lock と同じようにロックを試みます。ただし、スレッドの実行はブロックしません。

単純ロックでは、omp_test_lock 関数はロックの設定が成功した場合、0 以外の値を返し、それ以外の場合は 0 を返します。

入れ子にできるロックでは、omp_test_nest_lock 関数は、ロックの設定が成功した場合、新しい入れ子カウントを返し、それ以外の場合は 0 を返します。