ForEachItem.IsSynchronized 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个布尔值,该值指示是否 (线程安全) 同步对集合的访问。
public:
property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean
属性值
如果 (线程安全) 同步对集合的访问,则为 true;否则为 false。 默认值为 false。
实现
示例
ArrayList
这是一个.NET Framework类,该类继承并实现该IsSynchronized
属性。 下面的代码示例演示如何同步、 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。