Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Versucht, eine Sperre festzulegen, blockiert aber nicht Thread ausgeführt werden.
int omp_test_lock(
omp_lock_t *lock
);
Hinweise
Hierbei ist:
- lock
Eine Variable vom Typ omp_lock_t , der omp_init_lockinitialisiert wurde.
Hinweise
Weitere Informationen finden Sie unter 3.2.5 omp_test_lock und omp_test_nest_lock Funktionen.
Beispiel
// omp_test_lock.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
omp_lock_t simple_lock;
int main() {
omp_init_lock(&simple_lock);
#pragma omp parallel num_threads(4)
{
int tid = omp_get_thread_num();
while (!omp_test_lock(&simple_lock))
printf_s("Thread %d - failed to acquire simple_lock\n",
tid);
printf_s("Thread %d - acquired simple_lock\n", tid);
printf_s("Thread %d - released simple_lock\n", tid);
omp_unset_lock(&simple_lock);
}
omp_destroy_lock(&simple_lock);
}