JavaTM Platform
Standard Ed. 6

java.util.concurrent.atomic
クラス AtomicLong

java.lang.Object
  上位を拡張 java.lang.Number
      上位を拡張 java.util.concurrent.atomic.AtomicLong
すべての実装されたインタフェース:
Serializable

public class AtomicLong
extends Number
implements Serializable

原子的な更新が可能な long 値です。原子変数のプロパティーの詳細は、java.util.concurrent.atomic パッケージ仕様を参照してください。AtomicLong は、原子操作的に増分される通し番号などのアプリケーションで使用されます。これを Long の代替として使用することはできません。ただし、このクラスは Number を拡張して、数値ベースのクラスを処理するツールやユーティリティーによる単一的なアクセスを許可します。

導入されたバージョン:
1.5
関連項目:
直列化された形式

コンストラクタの概要
AtomicLong()
          初期値 0 を使って、新しい AtomicLong を作成します。
AtomicLong(long initialValue)
          指定された初期パラメータを使って、新しい AtomicLong を作成します。
 
メソッドの概要
 long addAndGet(long delta)
          指定された値を現在の値に原子的に追加します。
 boolean compareAndSet(long expect, long update)
          「現在の値 == 予想される値」である場合、値を指定された更新値に原子的に設定します。
 long decrementAndGet()
          現在の値を 1 だけ原子的に減分します。
 double doubleValue()
          指定された値を double 型として返します。
 float floatValue()
          指定された数値を float 型として返します。
 long get()
          現在の値を取得します。
 long getAndAdd(long delta)
          指定された値を現在の値に原子的に追加します。
 long getAndDecrement()
          現在の値を 1 だけ原子的に減分します。
 long getAndIncrement()
          現在の値を 1 だけ原子的に増分します。
 long getAndSet(long newValue)
          指定された値に原子的に設定して、以前の値を返します。
 long incrementAndGet()
          現在の値を 1 だけ原子的に増分します。
 int intValue()
          指定された値を int 型として返します。
 void lazySet(long newValue)
          指定された値に最終的に設定します。
 long longValue()
          指定された数値を long 型として返します。
 void set(long newValue)
          指定された値に設定します。
 String toString()
          現在値の文字列表記を返します。
 boolean weakCompareAndSet(long expect, long update)
          「現在の値 == 予想される値」である場合、値を指定された更新値に原子的に設定します。
 
クラス java.lang.Number から継承されたメソッド
byteValue, shortValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

AtomicLong

public AtomicLong(long initialValue)
指定された初期パラメータを使って、新しい AtomicLong を作成します。

パラメータ:
initialValue - 初期値

AtomicLong

public AtomicLong()
初期値 0 を使って、新しい AtomicLong を作成します。

メソッドの詳細

get

public final long get()
現在の値を取得します。

戻り値:
現行値

set

public final void set(long newValue)
指定された値に設定します。

パラメータ:
newValue - 新しい値

lazySet

public final void lazySet(long newValue)
指定された値に最終的に設定します。

パラメータ:
newValue - 新しい値
導入されたバージョン:
1.6

getAndSet

public final long getAndSet(long newValue)
指定された値に原子的に設定して、以前の値を返します。

パラメータ:
newValue - 新しい値
戻り値:
前の値

compareAndSet

public final boolean compareAndSet(long expect,
                                   long update)
「現在の値 == 予想される値」である場合、値を指定された更新値に原子的に設定します。

パラメータ:
expect - 予想される値
update - 新しい値
戻り値:
成功する場合は truefalse は、実際の値が予想される値と等価ではないことを示す

weakCompareAndSet

public final boolean weakCompareAndSet(long expect,
                                       long update)
「現在の値 == 予想される値」である場合、値を指定された更新値に原子的に設定します。  

見かけ上失敗する可能性があり、順序付け保証を提供しないため、compareAndSet の代わりに使用することはほとんどありません。

パラメータ:
expect - 予想される値
update - 新しい値
戻り値:
成功する場合は true

getAndIncrement

public final long getAndIncrement()
現在の値を 1 だけ原子的に増分します。

戻り値:
前の値

getAndDecrement

public final long getAndDecrement()
現在の値を 1 だけ原子的に減分します。

戻り値:
前の値

getAndAdd

public final long getAndAdd(long delta)
指定された値を現在の値に原子的に追加します。

パラメータ:
delta - 追加する値
戻り値:
前の値

incrementAndGet

public final long incrementAndGet()
現在の値を 1 だけ原子的に増分します。

戻り値:
更新された値

decrementAndGet

public final long decrementAndGet()
現在の値を 1 だけ原子的に減分します。

戻り値:
更新された値

addAndGet

public final long addAndGet(long delta)
指定された値を現在の値に原子的に追加します。

パラメータ:
delta - 追加する値
戻り値:
更新された値

toString

public String toString()
現在値の文字列表記を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
現在値の文字列表記

intValue

public int intValue()
クラス Number の記述:
指定された値を int 型として返します。値を丸めたり切り詰めたりすることもあります。

定義:
クラス Number 内の intValue
戻り値:
このオブジェクトが表す数値を int 型に変換した値

longValue

public long longValue()
クラス Number の記述:
指定された数値を long 型として返します。値を丸めたり切り詰めたりすることもあります。

定義:
クラス Number 内の longValue
戻り値:
このオブジェクトが表す数値を long 型に変換した値

floatValue

public float floatValue()
クラス Number の記述:
指定された数値を float 型として返します。値を丸めることもあります。

定義:
クラス Number 内の floatValue
戻り値:
このオブジェクトが表す数値を float 型に変換した値

doubleValue

public double doubleValue()
クラス Number の記述:
指定された値を double 型として返します。値を丸めることもあります。

定義:
クラス Number 内の doubleValue
戻り値:
このオブジェクトが表す数値を double 型に変換した値

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。