C # 中的 Queue.IsSynchronized ()方法用于获取一个值,该值指示对 Queue 的访问是否同步(线程安全)。
语法如下
public virtual bool IsSynchronized { get; }现在让我们来看一个例子-
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("队列是否同步? = "+queue.IsSynchronized);
}
}输出结果Queue... 100 200 300 400 500 600 700 800 900 1000 队列是否同步? = False
现在让我们看看另一个例子-
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("队列是否同步? = "+queue.IsSynchronized);
Queue queue2 = Queue.Synchronized(queue);
Console.WriteLine("现在队列同步了吗? = "+queue2.IsSynchronized);
}
}输出结果Queue... AB BC CD DE EF FG GH HI 队列是否同步? = False 现在队列同步了吗? = True