JavaTM Platform
Standard Ed. 6

java.util.concurrent.atomic
클래스 AtomicIntegerFieldUpdater<T>

java.lang.Object 
  상위를 확장 java.util.concurrent.atomic.AtomicIntegerFieldUpdater<T>
형태 파라미터:
T - 갱신 가능한 필드를 보관 유지하는 객체의 형태


public abstract class AtomicIntegerFieldUpdater<T>
extends Object

지정된 클래스의 지정된 volatile int 필드의 원자 갱신이 가능한, 리플렉션 베이스의 유틸리티입니다. 이 클래스는, 동일 노드의 복수 필드가 독립해 원자 갱신의 대상이 되는 원자 데이터 구조로 사용하는 목적으로 설계되고 있습니다.

이 클래스내의 compareAndSet 메소드의 보증은, 다른 원자 클래스내의 그것보다 약한 것에 유의해 주세요. 이 클래스는, 필드의 사용 모든 것이 원자 액세스에 적절하고 있는 것을 보증할 수 없기 때문에, 같은 업 데이터에서의 compareAndSetset 외의 호출에 관한 보고 원자성을 보증할 수 있습니다.

도입된 버젼:
1.5

생성자 의 개요
protected AtomicIntegerFieldUpdater ()
          서브 클래스에 의해 사용된다, 아무것도 실시하지 않는 protected 생성자.
 
메소드의 개요
 int addAndGet (T  obj, int delta)
          이 업 데이터가 관리하는 지정된 객체의 필드의 현재가에, 지정된 값을 원자적으로 추가합니다.
abstract  boolean compareAndSet (T  obj, int expect, int update)
           「현재의 값 == 예상되는 값」인 경우, 이 업 데이터가 관리하는 지정된 객체의 필드치를, 지정된 갱신 끝난 값에 원자적으로 설정합니다.
 int decrementAndGet (T  obj)
          이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 감 분 합니다.
abstract  int get (T  obj)
          이 업 데이터가 관리하는 지정된 객체의 필드가 보관 유지하는 현재가를 가져옵니다.
 int getAndAdd (T  obj, int delta)
          이 업 데이터가 관리하는 지정된 객체의 필드의 현재가에, 지정된 값을 원자적으로 추가합니다.
 int getAndDecrement (T  obj)
          이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 감 분 합니다.
 int getAndIncrement (T  obj)
          이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 증분 합니다.
 int getAndSet (T  obj, int newValue)
          이 업 데이터에 의해 관리되는 지정된 객체의 필드가 지정된 값에 프리미티브(primitive)으로 설정해, 이전의 값을 돌려줍니다.
 int incrementAndGet (T  obj)
          이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 증분 합니다.
abstract  void lazySet (T  obj, int newValue)
          이 업 데이터에 의해 관리되는 지정된 객체의 필드를, 지정된 갱신 끝난 값에 최종적으로 설정합니다.
static
<U> AtomicIntegerFieldUpdater <U>
newUpdater (Class <U> tclass, String  fieldName)
          지정된 필드를 가지는 객체의 업 데이터를 작성해 돌려줍니다.
abstract  void set (T  obj, int newValue)
          이 업 데이터에 의해 관리되는 지정된 객체의 필드를, 지정된 갱신 끝난 값으로 설정합니다.
abstract  boolean weakCompareAndSet (T  obj, int expect, int update)
           「현재의 값 == 예상되는 값」인 경우, 이 업 데이터가 관리하는 지정된 객체의 필드치를, 지정된 갱신 끝난 값에 원자적으로 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

AtomicIntegerFieldUpdater

protected AtomicIntegerFieldUpdater()
서브 클래스에 의해 사용된다, 아무것도 실시하지 않는 protected 생성자.

메소드의 상세

newUpdater

public static <U> AtomicIntegerFieldUpdater <U> newUpdater(Class <U> tclass,
                                                          String  fieldName)
지정된 필드를 가지는 객체의 업 데이터를 작성해 돌려줍니다. Class 인수는, 리플렉트형과 총칭형의 일치를 체크하기 위해서 필요합니다.

파라미터:
tclass - 필드를 보관 유지하는 객체의 클래스
fieldName - 갱신하는 필드의 이름
반환값:
업 데이터
예외:
IllegalArgumentException - 필드가 휘발성의 정수형이 아닌 경우
RuntimeException - 클래스에 필드가 포함되지 않는가, 형태가 부정한 경우에, 상자로 된 리플렉션 베이스의 예외가 throw 된다

compareAndSet

public abstract boolean compareAndSet(T  obj,
                                      int expect,
                                      int update)
「현재의 값 == 예상되는 값」인 경우, 이 업 데이터가 관리하는 지정된 객체의 필드치를, 지정된 갱신 끝난 값에 원자적으로 설정합니다. 이 메소드는,compareAndSetset 에 대하는 것 외의 호출로 원자성을 가지는 것이 보증되고 있습니다만, 필드내외의 변경에 관해서는 반드시 그렇다라고는 한정하지 않습니다.

파라미터:
obj - 조건부로 필드를 설정하는 객체
expect - 예상되는 값
update - 새로운 값
반환값:
성공했을 경우는 true
예외:
ClassCastException - obj 가 생성자 내에서 확립된 필드를 처리하는 클래스의 인스턴스가 아닌 경우

weakCompareAndSet

public abstract boolean weakCompareAndSet(T  obj,
                                          int expect,
                                          int update)
「현재의 값 == 예상되는 값」인 경우, 이 업 데이터가 관리하는 지정된 객체의 필드치를, 지정된 갱신 끝난 값에 원자적으로 설정합니다. 이 메소드는,compareAndSetset 에 대하는 것 외의 호출로 원자성을 가지는 것이 보증되고 있습니다만, 필드내외의 변경에 관해서는 반드시 그렇다라고는 한정하지 않습니다.

외관상 실패할 가능성이 있어, 순서부 보증을 제공하지 않기 때문에,compareAndSet 대신에 사용하는 것은 거의 없습니다.

파라미터:
obj - 조건부로 필드를 설정하는 객체
expect - 예상되는 값
update - 새로운 값
반환값:
성공했을 경우는 true
예외:
ClassCastException - obj 가 생성자 내에서 확립된 필드를 처리하는 클래스의 인스턴스가 아닌 경우

set

public abstract void set(T  obj,
                         int newValue)
이 업 데이터에 의해 관리되는 지정된 객체의 필드를, 지정된 갱신 끝난 값으로 설정합니다. 이 조작은, 후속의 compareAndSet 의 호출에 관해서는, 휘발성 스토어로서 동작하는 것이 보증되고 있습니다.

파라미터:
obj - 필드를 설정하는 객체
newValue - 새로운 값

lazySet

public abstract void lazySet(T  obj,
                             int newValue)
이 업 데이터에 의해 관리되는 지정된 객체의 필드를, 지정된 갱신 끝난 값에 최종적으로 설정합니다.

파라미터:
obj - 필드를 설정하는 객체
newValue - 새로운 값
도입된 버젼:
1.6

get

public abstract int get(T  obj)
이 업 데이터가 관리하는 지정된 객체의 필드가 보관 유지하는 현재가를 가져옵니다.

파라미터:
obj - 필드를 취득하는 객체
반환값:
현재의 값

getAndSet

public int getAndSet(T  obj,
                     int newValue)
이 업 데이터에 의해 관리되는 지정된 객체의 필드가 지정된 값에 프리미티브(primitive)으로 설정해, 이전의 값을 돌려줍니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
newValue - 새로운 값
반환값:
전의값

getAndIncrement

public int getAndIncrement(T  obj)
이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 증분 합니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
반환값:
전의값

getAndDecrement

public int getAndDecrement(T  obj)
이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 감 분 합니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
반환값:
전의값

getAndAdd

public int getAndAdd(T  obj,
                     int delta)
이 업 데이터가 관리하는 지정된 객체의 필드의 현재가에, 지정된 값을 원자적으로 추가합니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
delta - 추가하는 값
반환값:
전의값

incrementAndGet

public int incrementAndGet(T  obj)
이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 증분 합니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
반환값:
갱신된 값

decrementAndGet

public int decrementAndGet(T  obj)
이 업 데이터가 관리하는 지정된 객체의 필드의 현재가를 원자적으로 1 만 감 분 합니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
반환값:
갱신된 값

addAndGet

public int addAndGet(T  obj,
                     int delta)
이 업 데이터가 관리하는 지정된 객체의 필드의 현재가에, 지정된 값을 원자적으로 추가합니다.

파라미터:
obj - 필드를 취득 및 설정하는 객체
delta - 추가하는 값
반환값:
갱신된 값

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.