CreateMutex
HANDLE WINAPI CreateMutex(
_In_opt_ LPSECURITY_ATTRIBUTES lpMutexAttributes,
_In_ BOOL bInitialOwner,
_In_opt_ LPCTSTR lpName
);
第一个参数传入NULL,使用默认安全性
第二个参数为TRUE,指示互斥对象初始拥有者,如果为TRUE,调用者创建这个互斥对象,调用的线程获得互斥对象的所有权;否则,调用线程不获得对象的所有权。
也就是说,如果为TRUE,初始化为无信号状态,主线程有所有权,必须在主线程中调用ReleaseMutex;如果为FALSE,初始化为有信号状态,主线程不具备所有权。
第三个参数给互斥对象起个名字,如果传入NULL,则创建匿名的互斥对象。
-
互斥对象(mutex)属于内核对象,它能够确保线程拥有对单个资源的互斥访问权。
-
互斥对象包含一个使用数量,