C# 中 array 类的 Array.SyncRoot 属性的作用是什么?
Array.SyncRoot 属性用于获取一个对象,该对象可用于同步对 Array 的访问。具有数组的类还可以使用 SyncRoot 属性来实现自己的同步。
枚举集合不是线程安全的过程。即使集合已同步,其他线程也可能会修改集合。这最终会导致枚举器抛出异常。为此,你需要锁定集合。
让我们看一个使用 Array.SyncRoot 属性的示例 −
示例
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
Array arr = new int[] { 23, 11, 32, 18, 87 };
lock(arr.SyncRoot) {
foreach (Object val in arr)
Console.WriteLine(val);
}
}
}输出
23 11 32 18 87
上面,我们在数组上设置了一个锁 −
lock(arr.SyncRoot)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP