Dictionary<TKey,TValue>.ICollection.IsSynchronized Dictionary<TKey,TValue>.ICollection.IsSynchronized Dictionary<TKey,TValue>.ICollection.IsSynchronized Property

定義

ICollection へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value that indicates 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. Dictionary<TKey,TValue> の既定の実装では、このプロパティは常に false を返します。In the default implementation of Dictionary<TKey,TValue>, this property always returns false.

実装

注釈

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

コレクションの列挙は、本質的にスレッド セーフなプロシージャではありません。Enumerating through a collection is intrinsically not a thread-safe procedure. コレクションが同期されている場合でも、他のスレッドを変更できますコレクション、例外をスローする列挙子が発生することができます。Even when a collection is synchronized, other threads can still modify the collection, which can cause the enumerator to throw an exception. 列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

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

このプロパティの値の取得は o (1) 操作です。Getting the value of this property is an O(1) operation.

適用対象

こちらもご覧ください