ForEachItem.IsSynchronized Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает логическое значение, указывающее, синхронизирован ли доступ к коллекции (потокобезопасный).
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#. Дополнительные сведения см. в разделе ICollection.IsSynchronized.