JavaTM Platform
Standard Ed. 6

java.util.concurrent.atomic
클래스 AtomicStampedReference<V>

java.lang.Object 
  상위를 확장 java.util.concurrent.atomic.AtomicStampedReference<V>
형태 파라미터:
V - 이 참조에 의해 참조되는 객체의 형태


public class AtomicStampedReference<V>
extends Object

AtomicStampedReference 는, 원자적으로 갱신 가능한 정수 「스탬프」와(과) 함께, 객체 참조를 관리합니다.

구현상의 주의. 이 구현은, 괄호로 둘러싸인 [참조, 정수] 의 페어를 나타내는 내부 객체를 작성하는 것으로써, 스탬프 된 참조를 유지합니다.

도입된 버젼:
1.5

생성자 의 개요
AtomicStampedReference (V  initialRef, int initialStamp)
          지정된 초기 파라미터를 사용해, 새로운 AtomicStampedReference 를 작성합니다.
 
메소드의 개요
 boolean attemptStamp (V  expectedReference, int newStamp)
           「현재의 참조 == 예상되는 참조」인 경우는, 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.
 boolean compareAndSet (V  expectedReference, V  newReference, int expectedStamp, int newStamp)
           「현재의 참조 == 예상되는 참조」이며, 현재의 스탬프가 예상되는 스탬프에 동일한 경우, 참조 및 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.
 V get (int[] stampHolder)
          참조 및 스탬프의 현재가를 돌려줍니다.
 V getReference ()
          참조의 현재가를 돌려줍니다.
 int getStamp ()
          스탬프의 현재가를 돌려줍니다.
 void set (V  newReference, int newStamp)
          참조 및 스탬프의 값을 무조건 설정합니다.
 boolean weakCompareAndSet (V  expectedReference, V  newReference, int expectedStamp, int newStamp)
           「현재의 참조 == 예상되는 참조」이며, 현재의 스탬프가 예상되는 스탬프에 동일한 경우, 참조 및 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

AtomicStampedReference

public AtomicStampedReference(V  initialRef,
                              int initialStamp)
지정된 초기 파라미터를 사용해, 새로운 AtomicStampedReference 를 작성합니다.

파라미터:
initialRef - 초기 참조
initialStamp - 초기 스탬프
메소드의 상세

getReference

public V  getReference()
참조의 현재가를 돌려줍니다.

반환값:
참조의 현재가

getStamp

public int getStamp()
스탬프의 현재가를 돌려줍니다.

반환값:
스탬프의 현재가

get

public V  get(int[] stampHolder)
참조 및 스탬프의 현재가를 돌려줍니다. 일반적으로의 사용법은 int[1] holder; ref = v.get(holder); 입니다.

파라미터:
stampHolder - 1 이상의 사이즈의 배열. 돌려줄 때에,stampholder[0] 은 스탬프의 값을 보관 유지한다
반환값:
참조의 현재가

weakCompareAndSet

public boolean weakCompareAndSet(V  expectedReference,
                                 V  newReference,
                                 int expectedStamp,
                                 int newStamp)
「현재의 참조 == 예상되는 참조」이며, 현재의 스탬프가 예상되는 스탬프에 동일한 경우, 참조 및 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.

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

파라미터:
expectedReference - 참조가 예상되는 값
newReference - 참조의 새로운 값
expectedStamp - 스탬프가 예상되는 값
newStamp - 스탬프의 새로운 값
반환값:
성공했을 경우는 true

compareAndSet

public boolean compareAndSet(V  expectedReference,
                             V  newReference,
                             int expectedStamp,
                             int newStamp)
「현재의 참조 == 예상되는 참조」이며, 현재의 스탬프가 예상되는 스탬프에 동일한 경우, 참조 및 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.

파라미터:
expectedReference - 참조가 예상되는 값
newReference - 참조의 새로운 값
expectedStamp - 스탬프가 예상되는 값
newStamp - 스탬프의 새로운 값
반환값:
성공했을 경우는 true

set

public void set(V  newReference,
                int newStamp)
참조 및 스탬프의 값을 무조건 설정합니다.

파라미터:
newReference - 참조의 새로운 값
newStamp - 스탬프의 새로운 값

attemptStamp

public boolean attemptStamp(V  expectedReference,
                            int newStamp)
「현재의 참조 == 예상되는 참조」인 경우는, 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다. 이 조작의 지정된 호출은 모두, 외관상 실패할 (false 를 돌려줄) 가능성이 있습니다. 다만, 현재의 값이 예상되는 값을 보관 유지해, 값의 설정을 시도하는 것 외의 thread가 존재하지 않는 경우는, 호출이 반복해지는 것으로 최종적으로 성공합니다.

파라미터:
expectedReference - 참조가 예상되는 값
newStamp - 스탬프의 새로운 값
반환값:
성공했을 경우는 true

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 도 참조해 주세요.