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 foi projetada para uso em estruturas de dados atômicas nas quais vários campos de referência do mesmo nó estão independentemente sujeitos 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
}}
Observe que as garantias do compareAndSet método nessa 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 a atomicidade apenas em 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 #newUpdater resultarão em uma ClassCastException geração.
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 Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| AtomicReferenceFieldUpdater() |
Construtor de não fazer nada protegido para uso por subclasses. |
| AtomicReferenceFieldUpdater(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
| JniPeerMembers |
Obtém os metadados JNI usados para invocar membros desse par Java. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| 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 esse atualizador para o valor atualizado fornecido se o valor |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
| Equals(Object) |
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) |
Define atomicamente o campo do objeto fornecido gerenciado por esse atualizador como 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 como 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 esse atualizador como o valor atualizado fornecido. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Um utilitário baseado em reflexão que permite atualizações atômicas para campos de referência designados |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| UpdateAndGet(Object, IUnaryOperator) |
Atualiza atomicamente (com efeitos de memória conforme especificado por |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <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 por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| WeakCompareAndSet(Object, Object, Object) |
Define atomicamente o campo do objeto fornecido gerenciado por esse atualizador para o valor atualizado fornecido se o valor |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
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.JniObjectReferenceControlBlock |
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
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada pelo 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 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |