MSMPI_Queuelock_acquire 函数
获取 Microsoft 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 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 |