Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy quyền truy cập đồng bộ cho mảng trong C#

Ví dụ 1: Mảng số nguyên

Sử dụng lock trên SyncRoot của mảng:

using System;

public class Demo {
    public static void Main() {
        Array intArr = new int[] {5, 10, 15, 20, 25, 30, 35, 40 };
        
        Console.WriteLine("Mảng số nguyên...");
        foreach (int i in intArr)
            Console.WriteLine(i);
        
        Console.WriteLine("Sau khi áp dụng lock...");
        lock(intArr.SyncRoot) {
            foreach (Object ob in intArr)
                Console.WriteLine(ob);
        }
    }
}

Kết quả

Mảng số nguyên...
5
10
15
20
25
30
35
40
Sau khi áp dụng lock...
5
10
15
20
25
30
35
40

Ví dụ 2: Mảng chuỗi

using System;

public class Demo {
    public static void Main() {
        Array strArr = new String[] {"Harry", "Tom", "Kevin", "Ryan", "Katie", "Amy" };
        
        Console.WriteLine("Mảng chuỗi...");
        foreach (string i in strArr)
            Console.WriteLine(i);
        
        Console.WriteLine("Sau khi áp dụng lock...");
        lock(strArr.SyncRoot) {
            foreach (Object ob in strArr)
                Console.WriteLine(ob);
        }
    }
}

Kết quả

Mảng chuỗi...
Harry
Tom
Kevin
Ryan
Katie
Amy
Sau khi áp dụng lock...
Harry
Tom
Kevin
Ryan
Katie
Amy