このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

ICollection.IsSynchronized プロパティ

2013/12/12

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

Namespace:  System.Collections
アセンブリ:  mscorlib (mscorlib.dll 内)

bool IsSynchronized { get; }

プロパティ値

型: System.Boolean
ICollection へのアクセスが同期されている (スレッド セーフである) 場合は true。それ以外の場合は false

SyncRoot は、ICollection へのアクセスを同期するために使用できるオブジェクトを返します。

System.Collections 名前空間のほとんどのコレクション クラスには、Synchronized メソッドも実装されます。このメソッドは、基になるコレクションの同期をとるラッパーを提供します。

コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。コレクションが同期されている場合でも、他のスレッドがそのコレクションを変更する可能性はあり、そのような状況が発生すると列挙子は例外をスローします。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチする方法のいずれかを実行できます。

列挙処理中に SyncRoot プロパティを使用してコレクションをロックする方法を次のコード例に示します。

ICollection myCollection;
// Instantiate and populate the collection
  lock(myCollection.SyncRoot) {
  foreach (Object item in myCollection) {
  // Insert your code here.
  }
 }

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft