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


ICollection へのアクセスが同期されるかどうか (スレッド セーフかどうか) を示す値を取得します。Gets a value indicating whether access to the ICollection is synchronized (thread safe).

property bool System::Collections::ICollection::IsSynchronized { bool get(); };
bool System.Collections.ICollection.IsSynchronized { get; }
 ReadOnly Property IsSynchronized As Boolean Implements ICollection.IsSynchronized


true へのアクセスが同期されている (スレッド セーフである) 場合は ICollection。それ以外の場合は falsetrue if access to the ICollection is synchronized (thread safe); otherwise, false. LinkedList<T> の既定の実装では、このプロパティは常に false を返します。In the default implementation of LinkedList<T>, this property always returns false.



System.Collections.Generic のコレクションの既定の実装は同期されていません。Default implementations of collections in System.Collections.Generic are not synchronized.

コレクションの列挙処理は、本質的にスレッドセーフな処理ではありません。Enumerating through a collection is intrinsically not a thread-safe procedure. 列挙処理でスレッド セーフを確保するために、列挙処理が終わるまでコレクションをロックできます。To guarantee thread safety during enumeration, you can lock the collection during the entire enumeration. コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。To allow the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization.

SyncRoot は、ICollectionへのアクセスを同期するために使用できるオブジェクトを返します。SyncRoot returns an object that can be used to synchronize access to the ICollection. 同期は、コレクションにアクセスする前にすべてのスレッドがこのオブジェクトをロックする場合にのみ有効です。Synchronization is effective only if all threads lock this object before accessing the collection.

このプロパティ値を取得することは、O(1) 操作になります。Retrieving the value of this property is an O(1) operation.