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