AtomicReferenceFieldUpdater Classe
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.
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
- 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 |
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 |
JniPeerMembers |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
PeerReference |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
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 |
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 |
Dispose() |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
Dispose(Boolean) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
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 |
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 |
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 |
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 |
UpdateAndGet(Object, IUnaryOperator) |
Atualiza atomicamente (com efeitos de memória conforme especificado por |
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 |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
IJavaPeerable.Finalized() |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
IJavaPeerable.JniManagedPeerState |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
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 |
GetJniTypeName(IJavaPeerable) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |