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

C#-এ Queue.IsSynchronized প্রপার্টি


C#-এ Queue.IsSynchronized প্রপার্টি একটি মান প্রদান করে যা নির্দেশ করে Queue-এ অ্যাক্সেস সিঙ্ক্রোনাইজড (thread-safe) কিনা। এটি একটি রিড-অনলি (read-only) প্রপার্টি।

সিনট্যাক্স (Syntax)

public virtual bool IsSynchronized { get; }

উদাহরণ ১: ইন্টিজার Queue-এর সিঙ্ক্রোনাইজড অবস্থা যাচাই

using System; 
using System.Collections; 
public class Demo { 
    public static void Main() { 
        Queue queue = new Queue(); 
        queue.Enqueue(100); 
        queue.Enqueue(200); 
        queue.Enqueue(300); 
        queue.Enqueue(400); 
        queue.Enqueue(500); 
        queue.Enqueue(600); 
        queue.Enqueue(700); 
        queue.Enqueue(800); 
        queue.Enqueue(900); 
        queue.Enqueue(1000); 
        Console.WriteLine("Queue..."); 
        IEnumerator demoEnum = queue.GetEnumerator(); 
        while (demoEnum.MoveNext()) { 
            Console.WriteLine(demoEnum.Current); 
        } 
        Console.WriteLine("Is Queue synchronized? = " + queue.IsSynchronized); 
    } 
}

আউটপুট

Queue... 
100 
200 
300 
400 
500 
600 
700 
800 
900 
1000 
Is Queue synchronized? = False

উদাহরণ ২: Queue সিঙ্ক্রোনাইজ করা এবং যাচাই

using System; 
using System.Collections; 
public class Demo { 
    public static void Main() { 
        Queue queue = new Queue(); 
        queue.Enqueue("AB"); 
        queue.Enqueue("BC"); 
        queue.Enqueue("CD"); 
        queue.Enqueue("DE"); 
        queue.Enqueue("EF"); 
        queue.Enqueue("FG"); 
        queue.Enqueue("GH"); 
        queue.Enqueue("HI"); 
        Console.WriteLine("Queue..."); 
        IEnumerator demoEnum = queue.GetEnumerator(); 
        while (demoEnum.MoveNext()) { 
            Console.WriteLine(demoEnum.Current); 
        } 
        Console.WriteLine("Is Queue synchronized? = " + queue.IsSynchronized); 
        Queue queue2 = Queue.Synchronized(queue); 
        Console.WriteLine("Is Queue synchronized now? = " + queue2.IsSynchronized); 
    } 
}

আউটপুট

Queue... 
AB 
BC 
CD 
DE 
EF 
FG 
GH 
HI 
Is Queue synchronized? = False 
Is Queue synchronized now? = True

মূল পয়েন্টস

  • ডিফল্টভাবে Queue ক্লাস থ্রেড-সেফ নয় (IsSynchronized = false)।
  • Queue.Synchronized() স্ট্যাটিক মেথড কল করে একটি থ্রেড-সেফ র্যাপার তৈরি করা যায়।
  • সিঙ্ক্রোনাইজড র্যাপারের IsSynchronized প্রপার্টি true রিটার্ন করে।
  • মাল্টি-থ্রেডেড এনভায়রনমেন্টে Queue শেয়ার করার সময় সিঙ্ক্রোনাইজড সংস্করণ ব্যবহার করা উচিত।
  1. C#-এ Queue ইন্টারফেস ও ক্লাস

  2. C#-এ Array.IsSynchronized প্রোপার্টি কী কাজ করে?

  3. C#-এ Queue ক্লাসের Count প্রোপার্টি কী?

  4. পাইথনে কিউ (Queue) ইমপ্লিমেন্টেশন