ForEachItems.IsSynchronized プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コレクションへの ForEachItems アクセスが同期される (スレッド セーフ) かどうかを示すブール型 (Boolean) の値を返します。
public:
property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean
プロパティ値
コレクションへのアクセスが同期される場合 (スレッド セーフの場合) は true、同期されない場合は false。 既定値は false です。
実装
例
ArrayList
は、IsSynchronized
プロパティを継承して実装する .NET Framework クラスです。 次のコード例は、同期する方法をArrayList
ArrayList
示しています。ArrayList
using System;
using System.Collections;
public class SamplesArrayList
{
public static void Main()
{
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
myAL.Add( "The" );
myAL.Add( "quick" );
myAL.Add( "brown" );
myAL.Add( "fox" );
// Creates a synchronized wrapper around the ArrayList.
ArrayList mySyncdAL = ArrayList.Synchronized( myAL );
// Displays the sychronization status of both ArrayLists.
Console.WriteLine( "myAL is {0}.", myAL.IsSynchronized ? "synchronized" : "not synchronized" );
Console.WriteLine( "mySyncdAL is {0}.", mySyncdAL.IsSynchronized ? "synchronized" : "not synchronized" );
}
}
Imports System
Imports System.Collections
Public Class SamplesArrayList
Public Shared Sub Main()
' Creates and initializes a new ArrayList.
Dim myAL As ArrayList = New ArrayList()
myAL.Add("The")
myAL.Add("quick")
myAL.Add("brown")
myAL.Add("fox")
' Creates a synchronized wrapper around the ArrayList.
Dim mySyncdAL As ArrayList = ArrayList.Synchronized(myAL)
' Displays the sychronization status of both ArrayLists.
Console.WriteLine("myAL is {0}.", myAL.IsSynchronized ? "synchronized" : "not synchronized")
Console.WriteLine("mySyncdAL is {0}.", mySyncdAL.IsSynchronized ? "synchronized" : "not synchronized")
End Sub
End Class
サンプル出力:
myAL is not synchronized.
mySyncdAL is synchronized.
注釈
ICollection.IsSynchronized を実装します。 コレクションがスレッドセーフの場合には、IsSynchronized プロパティは true
を返します。この場合、プログラマがコレクションをスレッドセーフにするために何かをする必要はありません。
このプロパティが false
を返す場合は、SyncRoot プロパティによって、C# の lock キーワードで使用するオブジェクトが返されます。 詳細については、「 ICollection.IsSynchronized」を参照してください。