Udostępnij za pośrednictwem


MSMPI_Queuelock_acquire, funkcja

Uzyskuje globalną blokadę biblioteki MPI firmy Microsoft. Kolejka blokady to kolejka pierwszej w pierwszej kolejności (FIFO).

Składnia

void MSMPI_Queuelock_acquire(
  _Out_ MSMPI_Lock_queue *queue
);

Parametry

  • queue [out]
    Wskazuje na strukturę MSMPI_Lock_queue dostarczaną przez użytkownika, która reprezentuje położenie wątku wywołującego w kolejce, dopóki użytkownik nie zwolni blokady przy użyciu funkcji MSMPI_Queuelock_release .

Wartość zwracana

Ta funkcja nie zwraca wartości.

Uwagi

Zachowanie tej funkcji zależy od poziomu obsługi wątków w użyciu. Gdy obsługa wątków jest MPI_THREAD_SERIALIZED lub niższa, ta funkcja uzyskuje globalną blokadę MPI firmy Microsoft, która zapewnia serializacji obiektów wywołujących i przerywa wszelkie wywołania funkcji MSMPI_Waitsome_interruptible , które są w toku.

Aplikacje powinny zwykle przydzielać strukturę kolejki na stosie za każdym razem, gdy uzyskują blokadę.

Aby uniknąć błędów, gdy wątki używają MSMPI_Waitsome_interruptible w aplikacjach wielowątowych, wszystkie wątki muszą uzyskać blokadę globalną przed wywołaniem funkcji MPI.

Ta funkcja jest rozszerzeniem standardu.

Wymagania

Produkt

Pakiet redystrybucyjny HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 MS-MPI lub narzędzia klienckie HPC Pack 2008

Nagłówek

Mpi.h

Biblioteka

Msmpi.lib

DLL

Msmpi.dll

Zobacz też

Funkcje punkt-punkt MPI

MSMPI_Lock_queue

MSMPI_Queuelock_release

MSMPI_Waitsome_interruptible