C#中的线程同步

使用 Synchronization 在多线程应用程序中同步对资源的访问。

用于同步线程的互斥锁

互斥锁可用于跨进程同步线程。使用它来防止一次由多个线程同时执行一个代码块。

C# lock 语句用于确保代码块的运行不会被其他线程中断。在代码块的持续时间内为给定对象获得互斥锁。

lock 语句获取一个对象作为参数。给“锁”的参数应该是基于引用类型的对象 -

public class Demo {
   privateSystem.ObjectmyLock = new System.Object();
   public void Process() {
      lock (myLock) {
      }
   }
}

C# 中的 Mutex 类是一个同步原语,也可用于进程间同步。

让我们看看如何创建一个新的互斥锁 -

private static Mutex m = new Mutex();