Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Получает глобальную блокировку библиотеки MPI Майкрософт. Очередь блокировки — это очередь FIFO.
Синтаксис
void MSMPI_Queuelock_acquire(
_Out_ MSMPI_Lock_queue *queue
);
Параметры
-
queue [out]
Указывает на предоставленную пользователем структуру MSMPI_Lock_queue , представляющую позицию вызывающего потока в очереди до тех пор, пока пользователь не спустит блокировку с помощью функции MSMPI_Queuelock_release .
Возвращаемое значение
Эта функция не возвращает значение.
Комментарии
Поведение этой функции зависит от уровня используемой поддержки потоков. Если поддержка потока MPI_THREAD_SERIALIZED или ниже, эта функция получает глобальную блокировку Microsoft MPI, которая обеспечивает сериализацию вызывающих объектов FIFO и прерывает все вызовы функций MSMPI_Waitsome_interruptible , которые выполняются.
Приложения обычно должны выделять структуру очереди в стеке каждый раз, когда они получают блокировку.
Чтобы избежать ошибок, когда потоки используют MSMPI_Waitsome_interruptible в многопоточных приложениях, все потоки должны получить глобальную блокировку перед вызовом функций MPI.
Эта функция является расширением стандарта.
Требования
Продукт |
Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008 |
Заголовок |
Mpi.h |
Библиотека |
Msmpi.lib |
DLL |
Msmpi.dll |