ReleaseMutex函数释放指定的互斥对象的所有权。
BOOL ReleaseMutex(
HANDLE 【hMutex】 | // mutex对象的句柄 |
); |
参数
【hMutex】
标识互斥体对象。CreateMutex或OpenMutex函数返回此句柄。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果调用线程不拥有互斥体对象,则ReleaseMutex函数将失败。
线程通过在等待功能之一中指定互斥体的句柄获得互斥体的所有权。创建互斥对象的线程也可以立即获得所有权,而无需使用其中一个等待功能。当拥有的线程不再需要拥有互斥对象时,它调用ReleaseMutex函数。
虽然线程拥有互斥体的所有权,但它可以在其他等待函数调用中指定相同的互斥体,而不会阻止其执行。这样可以防止线程在等待已拥有的互斥锁时自己死锁。但是,要释放其所有权,线程必须在每次互斥满足等待时调用ReleaseMutex一次。
也可以看看