program example29b include "omp_lib.h" integer (kind=omp_lock_kind) lock integer n call omp_init_lock(lock) !$omp parallel private (n) n=omp_get_thread_num() do while (.not. omp_test_lock(lock)) print *, "Секция закрыта, нить ", n call sleep(2) end do print *, "Начало закрытой секции, нить ", n call sleep(5) print *, "Конец закрытой секции, нить ", n call omp_unset_lock(lock) !$omp end parallel call omp_destroy_lock(lock) end