Queue<T>.ICollection.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 valor que indica se o acesso ao ICollection é sincronizado (thread safe).
property bool System::Collections::ICollection::IsSynchronized { bool get(); };
bool System.Collections.ICollection.IsSynchronized { get; }
member this.System.Collections.ICollection.IsSynchronized : bool
ReadOnly Property IsSynchronized As Boolean Implements ICollection.IsSynchronized
Valor da propriedade
true
se o acesso ao ICollection for sincronizado (thread safe); caso contrário, false
. Na implementação padrão de Queue<T>, essa propriedade sempre retorna false
.
Implementações
Comentários
As implementações padrão de coleções em System.Collections.Generic não são sincronizadas.
Enumerar por meio de uma coleção não é intrinsecamente um procedimento thread-safe. Para garantir a segurança do thread durante a enumeração, você pode bloquear a coleção durante toda a enumeração. Para permitir que a coleção seja acessada por vários threads para leitura e gravação, você deve implementar sua própria sincronização.
SyncRoot retorna um objeto, que pode ser usado para sincronizar o acesso ao ICollection. A sincronização só será eficaz se todos os threads bloquearem esse objeto antes de acessar a coleção.
Recuperar o valor dessa propriedade é uma operação O(1).