C#에서 ArrayList의 동기화를 위해 C#에서 ArrayList.Synchronized 메서드를 사용하십시오.
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