Mutex与CriticalSection相似,都为了处理多个线程对资源的访问。区别是:mutex是内核对象,锁住mutex需要花费更多的时间,mutex可以跨进程存在。没有任何线程拥有mutex,这个mutex处于未激发状态,线程通过调用WaitForXXX来获得此mutex;除非这个线程ReleaseMutex,否则其他线程都不能获得这个mutex的拥有权。
Mutex可以用来解决哲学家就餐问题:让每个哲学家要么获得两根筷子,要么一跟筷子都不获得。哲学家就餐问题中,筷子相当于mutex,每个哲学家要么获得两个mutex,要么一个都不获得。这样就可以防止死锁的发生。
WIN32多线程四 线程同步机制Mutex(转)
最新推荐文章于 2024-07-07 15:57:29 发布