Collection<T>.ICollection.IsSynchronized プロパティ

定義

ICollection へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。

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

プロパティ値

true へのアクセスが同期されている (スレッド セーフである) 場合は ICollection。それ以外の場合は falseCollection<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.5, 1.6, 2.0, 2.1
UWP 10.0

こちらもご覧ください