Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah perbezaan antara Monitor dan Lock dalam C#?

Apakah perbezaan antara Monitor dan Lock dalam C#?

王林
王林ke hadapan
2023-09-08 21:13:07728semak imbas

Apakah perbezaan antara Monitor dan Lock dalam C#?

Kedua-dua monitor dan kunci menyediakan mekanisme untuk menyegerakkan akses objek. kunci ialah jalan pintas untuk Monitor.Enter dan cuba dan akhirnya.

Lock ialah jalan pintas dan pilihan untuk penggunaan asas. Jika kami memerlukan lebih banyak kawalan gunakan TryEnter(), Wait(), Pulse() dan & untuk penyelesaian berbilang benang lanjutan PulseAll() kaedah, maka kelas Montior adalah pilihan anda.

Contoh kunci -

contoh

class Program{
static object _lock = new object();
static int Total;
public static void Main(){
   AddOneHundredLock();
   Console.ReadLine();
}
public static void AddOneHundredLock(){
   for (int i = 1; i <= 100; i++){
      lock (_lock){
         Total++;
      }
   }
}

#🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜#Contoh

class Program{
   static object _lock = new object();
   static int Total;
   public static void Main(){
      AddOneHundredMonitor();
      Console.ReadLine();
   }
   public static void AddOneHundredMonitor(){
      for (int i = 1; i <= 100; i++){
         Monitor.Enter(_lock);
         try{
            Total++;
         }
         finally{
            Monitor.Exit(_lock);
         }
      }
   }
}

Atas ialah kandungan terperinci Apakah perbezaan antara Monitor dan Lock dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam