Partilhar via


função MSMPI_Queuelock_acquire

Adquire o bloqueio global da biblioteca de MPI da Microsoft. A fila de bloqueio é uma fila fifo (First-In-First-Out).

Sintaxe

void MSMPI_Queuelock_acquire(
  _Out_ MSMPI_Lock_queue *queue
);

Parâmetros

  • fila [fora]
    Aponta para uma estrutura de MSMPI_Lock_queue fornecida pelo utilizador que representa a posição do thread de chamada na fila até que o utilizador solte o bloqueio utilizando a função MSMPI_Queuelock_release .

Valor devolvido

Esta função não devolve um valor.

Observações

O comportamento desta função depende do nível de suporte de threads em utilização. Quando o suporte de threads é MPI_THREAD_SERIALIZED ou inferior, esta função adquire o bloqueio global do MPI da Microsoft, que fornece a serialização FIFO dos autores de chamadas e interrompe quaisquer chamadas de função MSMPI_Waitsome_interruptible em curso.

Normalmente, as aplicações devem alocar a estrutura da fila na pilha sempre que adquirirem o bloqueio.

Para evitar erros quando os threads utilizam MSMPI_Waitsome_interruptible em aplicações com vários threads, todos os threads têm de adquirir o bloqueio global antes de chamarem funções de MPI.

Esta função é uma extensão do padrão.

Requisitos

Produto

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities

Cabeçalho

Mpi.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Ver também

Funções Ponto a Ponto do MPI

MSMPI_Lock_queue

MSMPI_Queuelock_release

MSMPI_Waitsome_interruptible