MSMPI_Waitsome_interruptible函式
等候清單中至少有一個與作用中句柄相關聯的作業已完成,或呼叫 MSMPI_Queuelock_acquire的另一個線程中斷呼叫。
語法
int MPIAPI MSMPI_Waitsome_interruptible(
int incount,
_Inout_count_(incount) MPI_Request array_of_requests[],
_Out_ int *outcount,
_Out_cap_post_count_(incount,*outcount) int array_of_indices[],
_Out_cap_post_count_(incount,*outcount) int array_of_statuses[]
);
參數
incount
陣列array_of_requests中的要求數目。array_of_requests
等候完成之作業的要求句柄陣列。 如果要求句柄是由非封鎖通訊函式所配置,則會解除分配,且相關聯的句柄會設定為 MPI_REQUEST_NULL。outcount [out ]
完成 的 array_of_requests 參數中指定的要求數目,以及 array_of_indices 和 array_of_statuses 陣列中的元素數目。如果 array_of_requests 不包含作用中的句柄,則函式會立即傳回 outcount 參數設定為 MPI_UNDEFINED。
如果在完成任何要求之前中斷此函式,則呼叫會傳回 outcount 參數設為零。
array_of_indices
傳回已完成作業 之array_of_requests 參數內的索引。 陣列索引在 C 中是以零起始,在 Fortran 中為一個起始。array_of_statuses
傳回已完成之作業的狀態。 這個陣列的項目會對應至 array_of_indices 數位的專案。
傳回值
傳回成功時 MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
如果函式傳回 MPI_ERR_IN_STATUS以外的錯誤,它就不會更新 array_of_statuses 參數中狀態的錯誤欄位。
備註
在多線程環境中,用戶必須先使用 MSMPI_Queuelock_acquire 函式取得全域 Microsoft MPI 鎖定,才能呼叫 MSMPI_Waitsome_interruptible。 當另一個線程呼叫 MSMPI_Queuelock_acquire 函式以存取 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 |