ForEachItem.IsSynchronized プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コレクションへのアクセスが同期されているかどうか(スレッドセーフ)を示すブール値を取得します。
public:
property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean
プロパティ値
コレクションへのアクセスが同期されている場合(スレッドセーフ)、そうでなければ、誤りです。 既定値は false です。
実装
例
ArrayListは、IsSynchronizedプロパティを継承し実装する.NETフレームワーククラスです。 次のコード例は、 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は同期していません。
mySyncdALは同期されています。
注釈
ICollection.IsSynchronizedを実装します。 コレクションがスレッド セーフの場合、 IsSynchronized プロパティは trueを返し、プログラマはコレクションスレッドを安全に保つために何もする必要はありません。
プロパティが falseを返す場合、SyncRootプロパティはC# lockキーワードで使用できるオブジェクトを返します。 詳細は ICollection.IsSynchronizedをご覧ください。