MSMPI_Queuelock_acquire函式
取得 Microsoft MPI 連結庫全域鎖定。 鎖定佇列是 First-In-First-Out (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 Pack 2012 MS-MPI 可轉散發套件、HPC Pack 2008 R2 MS-MPI 可轉散發套件、HPC Pack 2008 MS-MPI 可轉散發套件或 HPC Pack 2008 用戶端公用程式 |
標頭 |
Mpi.h |
媒體櫃 |
Msmpi.lib |
DLL |
Msmpi.dll |