Compartilhar via


Função MSMPI_Queuelock_acquire

Adquire o bloqueio global da biblioteca 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 [out]
    Aponta para uma estrutura de MSMPI_Lock_queue fornecida pelo usuário que representa a posição do thread de chamada na fila até que o usuário libere o bloqueio usando a função MSMPI_Queuelock_release .

Retornar valor

Essa função não retorna um valor.

Comentários

O comportamento dessa função depende do nível de suporte de thread em uso. Quando o suporte ao thread é MPI_THREAD_SERIALIZED ou inferior, essa função adquire o bloqueio global do Microsoft MPI, que fornece serialização FIFO de chamadores e interrompe todas as chamadas de função MSMPI_Waitsome_interruptible em andamento.

Os aplicativos normalmente devem alocar a estrutura da fila na pilha sempre que adquirem o bloqueio.

Para evitar erros quando os threads usam MSMPI_Waitsome_interruptible em aplicativos multi-threaded, todos os threads devem adquirir o bloqueio global antes de chamarem funções MPI.

Essa função é uma extensão para o padrão.

Requisitos

Produto

Pacote Redistribuível do HPC Pack 2012 MS-MPI, Pacote Redistribuível HPC Pack 2008 R2 MS-MPI, Pacote Redistribuível do HPC Pack 2008 MS-MPI ou Utilitários de Cliente HPC Pack 2008

parâmetro

Mpi.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Confira também

Funções ponto a ponto do MPI

MSMPI_Lock_queue

MSMPI_Queuelock_release

MSMPI_Waitsome_interruptible