AtomicInteger 类

定义

int可能以原子方式更新的值。

[Android.Runtime.Register("java/util/concurrent/atomic/AtomicInteger", DoNotGenerateAcw=true)]
public class AtomicInteger : Java.Lang.Number, IDisposable
[<Android.Runtime.Register("java/util/concurrent/atomic/AtomicInteger", DoNotGenerateAcw=true)>]
type AtomicInteger = class
    inherit Number
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
AtomicInteger
属性
实现

注解

int可能以原子方式更新的值。 VarHandle有关原子访问属性的说明,请参阅规范。 在原子递增计数器等应用程序中使用 An AtomicInteger ,不能用作替代方法 java.lang.Integer。 但是,此类确实扩展 Number 为允许处理基于数字的类的工具和实用工具进行统一访问。

在 1.5 中添加。

适用于 . 的 java.util.concurrent.atomic.AtomicIntegerJava 文档

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

构造函数

名称 说明
AtomicInteger()

使用初始值 0创建新的 AtomicInteger。

AtomicInteger(Int32)

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

AtomicInteger(IntPtr, JniHandleOwnership)

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

属性

名称 说明
Acquire

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

AndDecrement
已过时.

原子递减一个当前值。

AndIncrement
已过时.

原子递增一个当前值。

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

获取互操作运行时分配给此Java对等的标识哈希代码。

(继承自 Object)
JniManagedPeerState

int可能以原子方式更新的值。

(继承自 JavaObject)
JniPeerMembers

获取用于调用此Java对等方成员的 JNI 元数据。

Opaque

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

PeerReference

获取此Java对等方的 JNI 对象引用。

(继承自 Object)
Plain

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

ThresholdClass

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

ThresholdType

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

方法

名称 说明
AccumulateAndGet(Int32, IIntBinaryOperator)

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

AddAndGet(Int32)

以原子方式将给定值添加到当前值,内存效果由指定 VarHandle#getAndAdd

ByteValue()

返回指定数字的值作为一个 byte

(继承自 Number)
Clone()

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

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

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

CompareAndExchangeAcquire(Int32, Int32)

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

CompareAndExchangeRelease(Int32, Int32)

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

CompareAndSet(Int32, Int32)

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

Construct(JniObjectReference, JniObjectReferenceOptions)

int可能以原子方式更新的值。

(继承自 JavaObject)
DecrementAndGet()

原子递减当前值,内存效果由 VarHandle#getAndAdd.

Dispose()

释放此Java对等方持有的资源。

(继承自 Object)
Dispose(Boolean)

释放此Java对等方持有的资源。

(继承自 Object)
DisposeUnlessReferenced()

int可能以原子方式更新的值。

(继承自 JavaObject)
DoubleValue()

以加宽基元转换后的形式AtomicInteger返回此double值的当前值,内存效果由VarHandle#getVolatile指定。

Equals(Object)

int可能以原子方式更新的值。

(继承自 JavaObject)
Equals(Object)

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

(继承自 Object)
FloatValue()

以加宽基元转换后的形式AtomicInteger返回此float值的当前值,内存效果由VarHandle#getVolatile指定。

Get()

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

GetAndAccumulate(Int32, IIntBinaryOperator)

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

GetAndAdd(Int32)

以原子方式将给定值添加到当前值,内存效果由指定 VarHandle#getAndAdd

GetAndDecrement()

原子递减当前值,内存效果由 VarHandle#getAndAdd.

GetAndIncrement()

以原子方式递增当前值,内存效果由 VarHandle#getAndAdd指定。

GetAndSet(Int32)

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

GetAndUpdate(IIntUnaryOperator)

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

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
IncrementAndGet()

以原子方式递增当前值,内存效果由 VarHandle#getAndAdd指定。

IntValue()

返回此AtomicIntegerint值的当前值,其内存效果由VarHandle#getVolatile指定。

JavaFinalize()

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

(继承自 Object)
LazySet(Int32)

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

LongValue()

以加宽基元转换后的形式AtomicInteger返回此long值的当前值,内存效果由VarHandle#getVolatile指定。

Notify()

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

(继承自 Object)
NotifyAll()

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

(继承自 Object)
Set(Int32)

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

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

int可能以原子方式更新的值。

(继承自 JavaObject)
SetRelease(Int32)

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

ShortValue()

返回指定数字的值作为一个 short

(继承自 Number)
ToArray<T>()

从此Java数组包装器创建托管数组。

(继承自 Object)
ToString()

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

(继承自 Object)
UnregisterFromRuntime()

从互操作运行时取消注册此Java对等。

(继承自 Object)
UpdateAndGet(IIntUnaryOperator)

以原子方式更新(由指定的 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(Int32, Int32)

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

WeakCompareAndSetAcquire(Int32, Int32)

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

WeakCompareAndSetPlain(Int32, Int32)

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

WeakCompareAndSetRelease(Int32, Int32)

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

WeakCompareAndSetVolatile(Int32, Int32)

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

显式接口实现

名称 说明
IJavaPeerable.Disposed()

int可能以原子方式更新的值。

(继承自 JavaObject)
IJavaPeerable.Finalized()

int可能以原子方式更新的值。

(继承自 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

int可能以原子方式更新的值。

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

int可能以原子方式更新的值。

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

int可能以原子方式更新的值。

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

int可能以原子方式更新的值。

(继承自 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

int可能以原子方式更新的值。

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

int可能以原子方式更新的值。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

适用于