Dictionary.KeyCollection.System.Collections.ICollection.SyncRoot プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Dictionary.KeyCollection.System.Collections.ICollection.SyncRoot プロパティの意味・解説 

Dictionary.KeyCollection.System.Collections.ICollection.SyncRoot プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

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

名前空間: System.Collections.Generic
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Private ReadOnly Property
 System.Collections.ICollection.SyncRoot As Object
 Implements ICollection.SyncRoot
Object ICollection.SyncRoot { get; }
private:
virtual property Object^ System.Collections.ICollection.SyncRoot {
    Object^ get () sealed = ICollection::SyncRoot::get;
}

プロパティ値
ICollection へのアクセスを同期するために使用できるオブジェクト。Dictionary.KeyCollection の既定の実装では、このプロパティは常に現在のインスタンスを返します。

解説解説

System.Collections.Generic のコレクションの既定の実装は同期されません。

コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。すべての列挙処理が終わるまでコレクションをロックすることにより、列挙処理でのスレッド セーフを確保できます。コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。

SyncRoot は、ICollection へのアクセスを同期するために使用できるオブジェクトを返します。同期は、すべてのスレッドが、コレクションにアクセスする前にオブジェクトをロックする場合のみ有効です。C#、C++、および Visual Basic の SyncRoot プロパティの使用方法を次のコードに示します。

ICollection ic = ...;
lock (ic.SyncRoot) {
   // Access the collection.
}
Dim ic As IColletion = ...
SyncLock ic.SyncRoot
   ' Access the collection.
End SyncLock
ICollection^ ic = ...;
try {
   Monitor::Enter(ic->SyncRoot);
   // Access the collection.
}
finally {
   Monitor::Exit(ic->SyncRoot);
}

このプロパティ値を取得することは、O(1) 操作になります。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Dictionary.KeyCollection ジェネリック クラス
Dictionary.KeyCollection メンバ
System.Collections.Generic 名前空間
ICollection.IsSynchronized プロパティ



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

Dictionary.KeyCollection.System.Collections.ICollection.SyncRoot プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Dictionary.KeyCollection.System.Collections.ICollection.SyncRoot プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS