Rumah > Artikel > pembangunan bahagian belakang > 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 -
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!