ใช้ ArrayList.Synchronized Method ใน C# สำหรับการซิงโครไนซ์ ArrayList ใน C#
ให้เราดูตัวอย่างเพื่อล็อคคอลเลกชันโดยใช้คุณสมบัติ SyncRoot ใน C# -
ArrayList arr = new ArrayList(); lock(arr.SyncRoot) { foreach (object ele in arr) { } }
ต่อไปนี้คือตัวอย่างที่สมบูรณ์เพื่อตรวจสอบสถานะการซิงโครไนซ์ของ ArrayList -
ตัวอย่าง
using System; using System.Collections; public class Demo { public static void Main() { ArrayList arr1 = new ArrayList(); arr1.Add("One"); arr1.Add("Two"); arr1.Add("Three"); arr1.Add("Four"); arr1.Add("Five"); arr1.Add("Six"); arr1.Add("Seven"); arr1.Add("Eight"); // set synchronized wrapper around the ArrayList ArrayList arr2 = ArrayList.Synchronized(arr1); // sychronization status of first ArrayList Console.WriteLine("arr1 = {0}", arr1.IsSynchronized ? " synchronized" : "not synchronized"); // sychronization status of second ArrayList Console.WriteLine("arr2 = {0}", arr2.IsSynchronized ? "synchronized" : "not synchronized"); } }
ผลลัพธ์
arr1 = not synchronized arr2 = synchronized