|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.concurrent.atomic.AtomicStampedReference<V>
V
- 이 참조에 의해 참조되는 객체의 형태public class AtomicStampedReference<V>
AtomicStampedReference
는, 원자적으로 갱신 가능한 정수 「스탬프」와(과) 함께, 객체 참조를 관리합니다.
구현상의 주의. 이 구현은, 괄호로 둘러싸인 [참조, 정수] 의 페어를 나타내는 내부 객체를 작성하는 것으로써, 스탬프 된 참조를 유지합니다.
생성자 의 개요 | |
---|---|
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 |
생성자 의 상세 |
---|
public AtomicStampedReference(V initialRef, int initialStamp)
AtomicStampedReference
를 작성합니다.
initialRef
- 초기 참조initialStamp
- 초기 스탬프메소드의 상세 |
---|
public V getReference()
public int getStamp()
public V get(int[] stampHolder)
int[1] holder; ref = v.get(holder);
입니다.
stampHolder
- 1 이상의 사이즈의 배열. 돌려줄 때에,stampholder[0]
은 스탬프의 값을 보관 유지한다
public boolean weakCompareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp)
==
예상되는 참조」이며, 현재의 스탬프가 예상되는 스탬프에 동일한 경우, 참조 및 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.
외관상 실패할 가능성이 있어, 순서부 보증을 제공하지 않기 때문에,compareAndSet
대신에 사용하는 것은 거의 없습니다.
expectedReference
- 참조가 예상되는 값newReference
- 참조의 새로운 값expectedStamp
- 스탬프가 예상되는 값newStamp
- 스탬프의 새로운 값
public boolean compareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp)
==
예상되는 참조」이며, 현재의 스탬프가 예상되는 스탬프에 동일한 경우, 참조 및 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다.
expectedReference
- 참조가 예상되는 값newReference
- 참조의 새로운 값expectedStamp
- 스탬프가 예상되는 값newStamp
- 스탬프의 새로운 값
public void set(V newReference, int newStamp)
newReference
- 참조의 새로운 값newStamp
- 스탬프의 새로운 값public boolean attemptStamp(V expectedReference, int newStamp)
==
예상되는 참조」인 경우는, 스탬프의 값이 지정된 갱신치에 원자적으로 설정합니다. 이 조작의 지정된 호출은 모두, 외관상 실패할 (false
를 돌려줄) 가능성이 있습니다. 다만, 현재의 값이 예상되는 값을 보관 유지해, 값의 설정을 시도하는 것 외의 thread가 존재하지 않는 경우는, 호출이 반복해지는 것으로 최종적으로 성공합니다.
expectedReference
- 참조가 예상되는 값newStamp
- 스탬프의 새로운 값
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.