用户模式同步之互斥体小解
1.互斥体(互斥体类似于同步事件)
互斥体可避免多个线程争夺一个资源的问题,多线程环境下,如果一个线程获得互斥体,不释放的话其他的线程就获得不了该资源
它与同步事件的区别:
是在同一个线程内它可以递归获得互斥体,也就是这个线程获得互斥体后对再次去获得认可不排斥,同步我们显而易见的得知不允许这样
他有激发未激发两种状态,记住!!!获得互斥体是未激发状态,释放互斥体是激发状态,他和信号量区别清楚
同样使用它首先要初始化;CreateMutex(SECURITY,BOOL(是否被占有),LPCTSTR(name)),获得互斥体的函数是WAIT系列的等待函数
ReleaseMutex是释放互斥体
第二参数为FALSE是没有占有,是激发状态,反之为未激发状态
记住是在一个互斥体被一个线程获得后必须释放才能下一个获得和自旋锁原理一样
2. 对于等待函数的解释