List<T>.ICollection.IsSynchronized 属性

定义

获取一个值,该值指示是否同步对 ICollection 的访问(线程安全)。

C#
bool System.Collections.ICollection.IsSynchronized { get; }

属性值

如果对 true 的访问是同步的(线程安全),则为 ICollection;否则为 false。 在 List<T> 的默认实现中,此属性始终返回 false

实现

注解

System.Collections.Generic 命名空间中集合的默认实现是不同步的。

枚举整个集合本质上不是一个线程安全的过程。 在枚举与写入访问权限竞争的极少数情况下,可以在整个枚举期间锁定集合。 若要允许多个线程访问集合以进行读写操作,则必须实现自己的同步。

SyncRoot 返回一个 对象,该对象可用于同步对 的访问 ICollection。 仅当所有线程在访问集合之前锁定此对象时,同步才有效。

检索此属性的值的运算复杂度为 O(1)。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另请参阅