Share via


AtomicInteger 类

定义

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

[Android.Runtime.Register("java/util/concurrent/atomic/AtomicInteger", DoNotGenerateAcw=true)]
public class AtomicInteger : Java.Lang.Number, IDisposable, Java.Interop.IJavaPeerable
[<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 请参阅规范。 AtomicInteger在应用程序(如原子递增计数器)中使用,不能用作 的替代java.lang.Integer项。 但是,此类确实扩展 Number 为允许处理基于数字的类的工具和实用工具进行统一访问。

在 1.5 中添加。

java.util.concurrent.atomic.AtomicIntegerJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

AtomicInteger()

创建具有初始值 0的新 AtomicInteger。

AtomicInteger(Int32)

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

AtomicInteger(IntPtr, JniHandleOwnership)

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

属性

Acquire

返回当前值,其内存效果由 VarHandle#getAcquire指定。

AndDecrement
已过时.

以原子方式将当前值减 1。

AndIncrement
已过时.

以原子方式递增当前值 1。

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

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

(继承自 Object)
JniPeerMembers

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

Opaque

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

PeerReference

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

(继承自 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)

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

CompareAndExchangeAcquire(Int32, Int32)

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

CompareAndExchangeRelease(Int32, Int32)

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

CompareAndSet(Int32, Int32)

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

DecrementAndGet()

使用 指定的 VarHandle#getAndAdd内存效果以原子方式递减当前值。

Dispose()

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

(继承自 Object)
Dispose(Boolean)

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

(继承自 Object)
DoubleValue()

在扩展基元转换后返回此 AtomicIntegerdouble 的当前值,其内存效果由 VarHandle#getVolatile指定。

Equals(Object)

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

(继承自 Object)
FloatValue()

在扩展基元转换后返回此 AtomicIntegerfloat 的当前值,其内存效果由 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()

以 的形式int返回此 AtomicInteger 的当前值,其内存效果由 VarHandle#getVolatile指定。

JavaFinalize()

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

(继承自 Object)
LazySet(Int32)

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

LongValue()

在扩展基元转换后返回此 AtomicIntegerlong 的当前值,其内存效果由 VarHandle#getVolatile指定。

Notify()

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

(继承自 Object)
NotifyAll()

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

(继承自 Object)
Set(Int32)

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

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetRelease(Int32)

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

ShortValue()

以 的形式 short返回指定数字的值。

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

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

(继承自 Object)
ToString()

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

(继承自 Object)
UnregisterFromRuntime()

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

(继承自 Object)
UpdateAndGet(IIntUnaryOperator)

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

Wait()

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

(继承自 Object)
Wait(Int64)

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

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

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

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

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

WeakCompareAndSetAcquire(Int32, Int32)

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

WeakCompareAndSetPlain(Int32, Int32)

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

WeakCompareAndSetRelease(Int32, Int32)

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

WeakCompareAndSetVolatile(Int32, Int32)

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

显式接口实现

IJavaPeerable.Disposed()

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

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(继承自 Object)
IJavaPeerable.Finalized()

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

(继承自 Object)
IJavaPeerable.JniManagedPeerState

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

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

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

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

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

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

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

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

适用于