Compartilhar via


3.2 Bloquear funções

As funções descritas nesta seção manipulam bloqueios usados para sincronização.

Para as seguintes funções, a variável de bloqueio deve ser do tipo omp_lock_t.Essa variável só deve ser acessada através dessas funções.Todas as funções de bloqueio exigem um argumento que tem um ponteiro para omp_lock_t tipo.

  • O omp_init_lock função inicializa um bloqueio simple.

  • O omp_destroy_lock função remove um bloqueio simple.

  • O omp_set_lock função aguarda até que um bloqueio simple esteja disponível.

  • O omp_unset_lock função libera um bloqueio simple.

  • O omp_test_lock função testa um bloqueio simple.

Para as seguintes funções, a variável de bloqueio deve ser do tipo omp_nest_lock_t.Essa variável só deve ser acessada através dessas funções.Todas as funções de bloqueio nestable requerem um argumento que tem um ponteiro para omp_nest_lock_t tipo.

  • O omp_init_nest_lock função inicializa um bloqueio de nestable.

  • O omp_destroy_nest_lock função remove um bloqueio de nestable.

  • O omp_set_nest_lock função aguarda até que um bloqueio de nestable esteja disponível.

  • O omp_unset_nest_lock função libera um bloqueio de nestable.

  • O omp_test_nest_lock função testa um bloqueio de nestable.

As funções de bloqueio do OpenMP acessar a variável de bloqueio de tal forma que eles sempre ler e atualizar o valor mais atual da variável de bloqueio.Portanto, não é necessário para que um programa OpenMP incluem explícita liberar diretivas para garantir que o valor da variável de bloqueio seja consistente entre diferentes segmentos.(Pode haver a necessidade de liberar diretivas para tornar os valores de outras variáveis consistente.)