मॉनिटर और लॉक दोनों एक तंत्र प्रदान करते हैं जो वस्तुओं तक पहुंच को सिंक्रनाइज़ करता है। लॉक मॉनिटर के लिए शॉर्टकट है। कोशिश करें और अंत में दर्ज करें।
लॉक एक शॉर्टकट है और यह मूल उपयोग के लिए विकल्प है। यदि हमें TryEnter() Wait(), Pulse(), &PulseAll() विधियों का उपयोग करके उन्नत मल्टीथ्रेडिंग समाधानों को लागू करने के लिए अधिक नियंत्रण की आवश्यकता है, तो Montior वर्ग आपके लिए विकल्प है।
लॉक के लिए उदाहरण -
उदाहरण
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++; } } }
मॉनिटर के लिए उदाहरण -
उदाहरण
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); } } } }