AtomicReference 类

定义

可能以原子方式更新的对象引用。

[Android.Runtime.Register("java/util/concurrent/atomic/AtomicReference", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "V" })]
public class AtomicReference : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/atomic/AtomicReference", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "V" })>]
type AtomicReference = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
AtomicReference
属性
实现

注解

可能以原子方式更新的对象引用。 VarHandle有关原子访问属性的说明,请参阅规范。

在 1.5 中添加。

Java文档java.util.concurrent.atomic.AtomicReference

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

名称 说明
AtomicReference()

使用 null 初始值创建新的 AtomicReference。

AtomicReference(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

AtomicReference(Object)

使用给定的初始值创建新的 AtomicReference。

属性

名称 说明
Acquire

返回当前值,内存效果由 VarHandle#getAcquire.

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

可能以原子方式更新的对象引用。

(继承自 Object)
JniPeerMembers

可能以原子方式更新的对象引用。

Opaque

返回当前值,内存效果由 VarHandle#getOpaque. - 或 - 将值设置为 newValue,其内存效果由 VarHandle#setOpaque指定。

PeerReference

可能以原子方式更新的对象引用。

(继承自 Object)
Plain

返回当前值,其中内存语义的读取与变量声明为非volatile变量一样。 - 或 - 将值设置为 newValue,其内存语义设置,就好像变量被声明为非volatile 非变量final一样。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

名称 说明
AccumulateAndGet(Object, IBinaryOperator)

以原子方式更新(由指定的 VarHandle#compareAndSet内存效果)当前值,并将给定函数应用于当前值和给定值的结果,并返回更新的值。

Clone()

创建并返回此对象的副本。

(继承自 Object)
CompareAndExchange(Object, Object)

以原子方式将值设置为 newValue 当前值(称为 <em>见证值</em>)时, == expectedValue其内存效果由指定 VarHandle#compareAndExchange

CompareAndExchangeAcquire(Object, Object)

以原子方式将值设置为 newValue 当前值(称为 <em>见证值</em>)时, == expectedValue其内存效果由指定 VarHandle#compareAndExchangeAcquire

CompareAndExchangeRelease(Object, Object)

以原子方式将值设置为 newValue 当前值(称为 <em>见证值</em>)时, == expectedValue其内存效果由指定 VarHandle#compareAndExchangeRelease

CompareAndSet(Object, Object)

以原子方式将值设置为 newValue 如果当前值 == expectedValue,并指定 VarHandle#compareAndSet内存效果。

Dispose()

可能以原子方式更新的对象引用。

(继承自 Object)
Dispose(Boolean)

可能以原子方式更新的对象引用。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Get()

返回当前值,内存效果由 VarHandle#getVolatile.

GetAndAccumulate(Object, IBinaryOperator)

以原子方式更新(由指定的 VarHandle#compareAndSet内存效果)当前值,并将给定函数应用于当前值和给定值的结果,并返回以前的值。

GetAndSet(Object)

以原子方式将值设置为 newValue 旧值并返回旧值,内存效果由指定 VarHandle#getAndSet

GetAndUpdate(IUnaryOperator)

以原子方式更新(由指定的 VarHandle#compareAndSet内存效果)当前值,其结果为应用给定函数,并返回上一个值。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
LazySet(Object)

将值设置为 newValue,并指定 VarHandle#setRelease内存效果。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Set(Object)

将值设置为 newValue,并指定 VarHandle#setVolatile内存效果。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetRelease(Object)

将值设置为 newValue,并指定 VarHandle#setRelease内存效果。

ToArray<T>()

可能以原子方式更新的对象引用。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

可能以原子方式更新的对象引用。

(继承自 Object)
UpdateAndGet(IUnaryOperator)

以原子方式更新(由指定的 VarHandle#compareAndSet内存效果)当前值,其结果为应用给定函数,并返回更新的值。

Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
WeakCompareAndSet(Object, Object)

可能以原子方式将值设置为 newValue 如果当前值 == expectedValue,并且内存效果由指定 VarHandle#weakCompareAndSetPlain

WeakCompareAndSetAcquire(Object, Object)

可能以原子方式将值设置为 newValue 如果当前值 == expectedValue,并且内存效果由指定 VarHandle#weakCompareAndSetAcquire

WeakCompareAndSetPlain(Object, Object)

可能以原子方式将值设置为 newValue 如果当前值 == expectedValue,并且内存效果由指定 VarHandle#weakCompareAndSetPlain

WeakCompareAndSetRelease(Object, Object)

可能以原子方式将值设置为 newValue 如果当前值 == expectedValue,并且内存效果由指定 VarHandle#weakCompareAndSetRelease

WeakCompareAndSetVolatile(Object, Object)

可能以原子方式将值设置为 newValue 如果当前值 == expectedValue,并且内存效果由指定 VarHandle#weakCompareAndSet

显式接口实现

名称 说明
IJavaPeerable.Disposed()

可能以原子方式更新的对象引用。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

可能以原子方式更新的对象引用。

(继承自 Object)
IJavaPeerable.Finalized()

可能以原子方式更新的对象引用。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

可能以原子方式更新的对象引用。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

可能以原子方式更新的对象引用。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

可能以原子方式更新的对象引用。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

可能以原子方式更新的对象引用。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

可能以原子方式更新的对象引用。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于