Compartilhar via


AtomicReferenceFieldUpdater Classe

Definição

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

[Android.Runtime.Register("java/util/concurrent/atomic/AtomicReferenceFieldUpdater", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T", "V" })]
public abstract class AtomicReferenceFieldUpdater : Java.Lang.Object
[<Android.Runtime.Register("java/util/concurrent/atomic/AtomicReferenceFieldUpdater", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T", "V" })>]
type AtomicReferenceFieldUpdater = class
    inherit Object
Herança
AtomicReferenceFieldUpdater
Atributos

Comentários

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas. Essa classe é projetada para uso em estruturas de dados atômicos nas quais vários campos de referência do mesmo nó estão sujeitos independentemente a atualizações atômicas. Por exemplo, um nó de árvore pode ser declarado como

{@code
            class Node {
              private volatile Node left, right;

              private static final AtomicReferenceFieldUpdater<Node, Node> leftUpdater =
                AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "left");
              private static final AtomicReferenceFieldUpdater<Node, Node> rightUpdater =
                AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "right");

              Node getLeft() { return left; }
              boolean compareAndSetLeft(Node expect, Node update) {
                return leftUpdater.compareAndSet(this, expect, update);
              }
              // ... and so on
            }}

Note que as compareAndSet garantias do método nesta classe são mais fracas do que em outras classes atômicas. Como essa classe não pode garantir que todos os usos do campo sejam apropriados para fins de acesso atômico, ela pode garantir atomicidade apenas com relação a outras invocações de compareAndSet e set no mesmo atualizador.

Argumentos de objeto para parâmetros de tipo T que não são instâncias da classe passada para #newUpdater resultarão em um ClassCastException ser lançado.

Adicionado em 1.5.

Documentação Java para java.util.concurrent.atomic.AtomicReferenceFieldUpdater.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

AtomicReferenceFieldUpdater()

Construtor protegido do nada para uso por subclasses.

AtomicReferenceFieldUpdater(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
JniPeerMembers

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

PeerReference

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

AccumulateAndGet(Object, Object, IBinaryOperator)

Atualiza atomicamente (com efeitos de memória conforme especificado por VarHandle#compareAndSet) o campo do objeto fornecido gerenciado por este atualizador com os resultados da aplicação da função dada aos valores atuais e determinados, retornando o valor atualizado.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CompareAndSet(Object, Object, Object)

Define atomicamente o campo do objeto fornecido gerenciado por este atualizador para o valor atualizado fornecido se o valor == atual for o valor esperado.

Dispose()

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
Dispose(Boolean)

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
Get(Object)

Retorna o valor atual mantido no campo do objeto fornecido gerenciado por este atualizador.

GetAndAccumulate(Object, Object, IBinaryOperator)

Atualiza atomicamente (com efeitos de memória conforme especificado por VarHandle#compareAndSet) o campo do objeto fornecido gerenciado por este atualizador com os resultados da aplicação da função dada aos valores atuais e determinados, retornando o valor anterior.

GetAndSet(Object, Object)

Atomicamente define o campo do objeto fornecido gerenciado por esse atualizador para o valor fornecido e retorna o valor antigo.

GetAndUpdate(Object, IUnaryOperator)

Atualiza atomicamente (com efeitos de memória conforme especificado por VarHandle#compareAndSet) o campo do objeto fornecido gerenciado por este atualizador com os resultados da aplicação da função dada, retornando o valor anterior.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
LazySet(Object, Object)

Eventualmente, define o campo do objeto fornecido gerenciado por esse atualizador para o valor atualizado fornecido.

NewUpdater(Class, Class, String)

Cria e retorna um atualizador para objetos com o campo fornecido.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Set(Object, Object)

Define o campo do objeto fornecido gerenciado por este atualizador para o valor atualizado fornecido.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
ToArray<T>()

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
UpdateAndGet(Object, IUnaryOperator)

Atualiza atomicamente (com efeitos de memória conforme especificado por VarHandle#compareAndSet) o campo do objeto fornecido gerenciado por este atualizador com os resultados da aplicação da função dada, retornando o valor atualizado.

Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
WeakCompareAndSet(Object, Object, Object)

Define atomicamente o campo do objeto fornecido gerenciado por este atualizador para o valor atualizado fornecido se o valor == atual for o valor esperado.

Implantações explícitas de interface

IJavaPeerable.Disposed()

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
IJavaPeerable.Finalized()

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

GetJniTypeName(IJavaPeerable)

Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados volatile de classes designadas.

Aplica-se a