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 |