public class AtomicLong extends Number implements Serializable
long
値です。 原子変数のプロパティの詳細は、java.util.concurrent.atomic
パッケージ仕様を参照してください。 AtomicLong
は、原子的に増分されるシーケンス番号などのアプリケーションで使用されます。これをLong
の代替として使用することはできません。 ただし、このクラスはNumber
を拡張して、数値ベースのクラスを処理するツールやユーティリティによる単一的なアクセスを許可します。 コンストラクタ | 説明 |
---|---|
AtomicLong() |
初期値
0 を使って、新しいAtomicLongを作成します。 |
AtomicLong(long initialValue) |
指定された初期パラメータを使って、新しいAtomicLongを作成します。
|
修飾子と型 | メソッド | 説明 |
---|---|---|
long |
accumulateAndGet(long x, LongBinaryOperator accumulatorFunction) |
現在の値を、指定された関数を現在の値と指定された値に適用した結果で原子的に更新し、更新された値を返します。
|
long |
addAndGet(long delta) |
指定された値を現在の値に原子的に追加します。
|
boolean |
compareAndSet(long expect, long update) |
「現在の値
== 予想される値」である場合、値を指定された更新値に原子的に設定します。 |
long |
decrementAndGet() |
現在の値を1だけ原子的に減分します。
|
double |
doubleValue() |
この
AtomicLong の拡張プリミティブ変換後の値をdouble として返します。 |
float |
floatValue() |
この
AtomicLong の拡張プリミティブ変換後の値をfloat として返します。 |
long |
get() |
現在の値を取得します。
|
long |
getAndAccumulate(long x, LongBinaryOperator accumulatorFunction) |
現在の値を、指定された関数を現在の値と指定された値に適用した結果で原子的に更新し、前の値を返します。
|
long |
getAndAdd(long delta) |
指定された値を現在の値に原子的に追加します。
|
long |
getAndDecrement() |
現在の値を1だけ原子的に減分します。
|
long |
getAndIncrement() |
現在の値を1だけ原子的に増分します。
|
long |
getAndSet(long newValue) |
指定された値に原子的に設定して、以前の値を返します。
|
long |
getAndUpdate(LongUnaryOperator updateFunction) |
現在の値を、指定された関数を適用した結果で原子的に更新し、前の値を返します。
|
long |
incrementAndGet() |
現在の値を1だけ原子的に増分します。
|
int |
intValue() |
この
AtomicLong の縮小プリミティブ変換後の値をint として返します。 |
void |
lazySet(long newValue) |
指定された値に最終的に設定します。
|
long |
longValue() |
この
AtomicLong の値をlong として返します。 |
void |
set(long newValue) |
指定された値に設定します。
|
String |
toString() |
現在値の文字列表記を返します。
|
long |
updateAndGet(LongUnaryOperator updateFunction) |
現在の値を、指定された関数を適用した結果で原子的に更新し、更新された値を返します。
|
boolean |
weakCompareAndSet(long expect, long update) |
「現在の値
== 予想される値」である場合、値を指定された更新値に原子的に設定します。 |
byteValue, shortValue
public AtomicLong(long initialValue)
initialValue
- 初期値public AtomicLong()
0
を使って、新しいAtomicLongを作成します。public final long get()
public final void set(long newValue)
newValue
- 新しい値public final void lazySet(long newValue)
newValue
- 新しい値public final long getAndSet(long newValue)
newValue
- 新しい値public final boolean compareAndSet(long expect, long update)
==
予想される値」である場合、値を指定された更新値に原子的に設定します。expect
- 予想される値update
- 新しい値true
。 falseは、実際の値が予想される値と等価ではないことを示す。 public final boolean weakCompareAndSet(long expect, long update)
==
予想される値」である場合、値を指定された更新値に原子的に設定します。
見かけ上失敗する可能性があり、順序付け保証を提供しないため、compareAndSet
の代わりに使用することはほとんどありません。
expect
- 予想される値update
- 新しい値true
public final long getAndIncrement()
public final long getAndDecrement()
public final long getAndAdd(long delta)
delta
- 追加する値public final long incrementAndGet()
public final long decrementAndGet()
public final long addAndGet(long delta)
delta
- 追加する値public final long getAndUpdate(LongUnaryOperator updateFunction)
updateFunction
- 副作用のない関数public final long updateAndGet(LongUnaryOperator updateFunction)
updateFunction
- 副作用のない関数public final long getAndAccumulate(long x, LongBinaryOperator accumulatorFunction)
x
- 更新値accumulatorFunction
- 2つの引数を取る、副作用のない関数public final long accumulateAndGet(long x, LongBinaryOperator accumulatorFunction)
x
- 更新値accumulatorFunction
- 2つの引数を取る、副作用のない関数public int intValue()
AtomicLong
の縮小プリミティブ変換後の値をint
として返します。public long longValue()
AtomicLong
の値をlong
として返します。public float floatValue()
AtomicLong
の拡張プリミティブ変換後の値をfloat
として返します。floatValue
、クラスNumber
float
型に変換した値。public double doubleValue()
AtomicLong
の拡張プリミティブ変換後の値をdouble
として返します。doubleValue
、クラスNumber
double
型に変換した値。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。