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

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

CollectionBase.System.Collections.ICollection.SyncRoot プロパティ

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

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

Private ReadOnly Property
 System.Collections.ICollection.SyncRoot As Object
 Implements ICollection.SyncRoot
Dim instance As CollectionBase
Dim value As Object

value = CType(instance, ICollection).SyncRoot
Object ICollection.SyncRoot { get; }
private:
virtual property Object^ System.Collections.ICollection.SyncRoot {
    Object^ get () sealed = ICollection::SyncRoot::get;
}

プロパティ値
CollectionBase へのアクセスを同期するために使用できるオブジェクト。

解説解説

派生クラスでは、SyncRoot プロパティを使用して、独自に CollectionBase を同期させることができます。コードによる同期操作は、CollectionBase で直接実行するのではなく、CollectionBase の SyncRoot で実行する必要があります。これにより、他のオブジェクトから派生したコレクションの操作が正常に実行されます。特に、CollectionBase オブジェクトを同時に変更する可能性がある別スレッドとの間で、正常な同期を維持します。

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

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

CollectionBase myCollection = new CollectionBase();
  lock(myCollection.SyncRoot) {
  foreach (Object item in myCollection) {
  // Insert your code here.
  }
 }
Dim myCollection As New
 CollectionBase()
 Dim item As Object
 SyncLock myCollection.SyncRoot
  For Each item In myCollection
  ' Insert your code here.
  Next item
 End SyncLock

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

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CollectionBase クラス
CollectionBase メンバ
System.Collections 名前空間
IsSynchronized


このページでは「.NET Framework クラス ライブラリ リファレンス」からCollectionBase.System.Collections.ICollection.SyncRoot プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からCollectionBase.System.Collections.ICollection.SyncRoot プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からCollectionBase.System.Collections.ICollection.SyncRoot プロパティ を検索

英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2026 GRAS Group, Inc.RSS