语言

DTSReadOnlyCollectionBase.IsSynchronized 属性

定义

获取一个值,该值指示对 DTSReadOnlyCollectionBase 同步的访问是否同步(线程安全)。

public:
 property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean

属性值

如果访问 是 DTSReadOnlyCollectionBase 同步的(线程安全),则为 true;否则为 false。 默认值为 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# 锁关键字使用。 更多信息请参见 ICollection.IsSynchronized

适用于