使用Mutex类-互斥锁
owned为true,互斥锁的初始状态就是被主线程所获取,否则处于未获取状态
name为定义的互斥锁名称,在整个操作系统只有一个命名未CSharpThreadingCookbook的互斥量,一个线程得到,其他线程就无法得到这个互斥量了,只能等待。
const string mutexName = "CSharpThreadingCookbook";
public Mutex(bool initiallyOwned, string mutexName);public Mutex();
WaitOne():获取,mut.ReleaseMutex():释放
public override bool WaitOne()
public static Mutex mutex = new Mutex(); //获取互斥锁,已经被其他线程获取,挂起等待。 mut.WaitOne(); //代码 //... //... //释放锁 mut.ReleaseMutex();
时间: 2024-12-05 14:55:58