Lock 功能 可以锁一段功能代码
用法: Lock(引用类型(object)) { 功能代码 }
Monitor 监视器 也是锁 和Lock 差不多是个类
用法:
Monitor.Enter(要获取的资源); 在指定资源上获取排它锁
Monitor.Exit(要释放的资源); 释放指定对象上的排它锁
Mutex :
static Mutex _mutex2 = new Mutex(false,“线程锁0”);
static void Worked2()
{
_mutex2.WaitOne(); //阻止当前线程知道收到信号
Thread.Sleep(1000);
Console.WriteLine($"我是线程:{Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(1000);
_mutex2.ReleaseMutex();//释放一次
}