ForEachItem.IsSynchronized Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um booliano que indica se o acesso à coleção é sincronizado (thread-safe).
public:
property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean
Valor da propriedade
True se o acesso à coleção for sincronizado (thread-safe); caso contrário, false. O padrão é falso.
Implementações
Exemplos
É ArrayList
uma classe .NET Framework que herda e implementa a IsSynchronized
propriedade. O exemplo de código a seguir mostra como sincronizar um ArrayList
, determinar se um ArrayList
é sincronizado e usar um sincronizado 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
Saída de exemplo:
myAL não está sincronizado.
mySyncdAL é sincronizado.
Comentários
Implementa ICollection.IsSynchronized. Se uma coleção for thread segura, a IsSynchronized propriedade retornará true
e o programador não precisará fazer nada para manter o thread de coleção seguro.
Se a propriedade retornar false
, a propriedade SyncRoot retornará um objeto que pode ser usado com a palavra-chave de bloqueio C#. Para obter mais informações, consulte ICollection.IsSynchronized.