互斥体:
其实这种同步规则很简单。
1 一个线程Lock后,另一个线程再lock时,必须要等已经lock的线程unlock后才能往下继续执行
2 一个线程lock可以嵌套,但你lock几次,就必须unlock多少次。
如下,ThreadFn1与ThreadFn2是互斥的
ThreadFn1()
{
mutex.Lock();
mutex.Lock();
...
mutex.Unlock();
mutex.Unlock();
}
ThreadFn2()
{
mutex.Lock();
...
mutex.Unlock();
}