C# 中的 ArrayList 同步
在 C# 中使用 ArrayList.Synchronized 方法进行 C# 中 ArrayList 的同步。
我们来看一个示例,使用 C# 中的 SyncRoot 属性锁定集合 −
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
广告