কম্পিউটার টিউটোরিয়াল

C#-এ Monitor এবং Lock-এর পার্থক্য

Monitor এবং lock উভয়ই অবজেক্টে অ্যাক্সেস সিঙ্ক্রোনাইজ করার একটি মেকানিজম প্রদান করে। lock হলো Monitor.Enter-এর সাথে try এবং finally-এর শর্টকাট।

Lock একটি শর্টকাট এবং বেসিক ইউজের জন্য অপশন। যদি আমাদের আরও কন্ট্রোল দরকার হয় এডভান্সড মাল্টিথ্রেডিং সলিউশন ইমপ্লিমেন্ট করতে TryEnter(), Wait(), Pulse(), এবং PulseAll() মেথড ব্যবহার করে, তবে Monitor ক্লাস আপনার অপশন।

Lock উদাহরণ

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++; 
            } 
        } 
    } 
}

Monitor উদাহরণ

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); 
            } 
        } 
    } 
}
  1. DirectX 11 এবং DirectX 12-এর পার্থক্য কী?

  2. C#-এ লিটারেল (Literal) এবং কনস্ট্যান্ট (Constant) এর পার্থক্য

  3. C#-এ String (ক্লাস) এবং string (এলিয়াস) এর পার্থক্য

  4. C#-এ লিস্ট এবং অ্যারেতে পার্থক্য (List vs Array)