|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjava.util.concurrent.atomic.AtomicMarkableReference<V>
V - 이 참조에 의해 참조되는 객체의 형태public class AtomicMarkableReference<V>
AtomicMarkableReference 는, 원자적으로 갱신 가능한 마크 비트와 함께, 객체 참조를 관리합니다.
구현상의 주의. 이 구현은, 「상자포장」된 [참조, boolean 치] 의 페어를 나타내는 내부 객체를 작성하는 것으로써, 마크 가능한 참조를 관리합니다.
| 생성자 의 개요 | |
|---|---|
AtomicMarkableReference (V initialRef,
boolean initialMark)
지정된 초기 파라미터를 사용해, 새로운 AtomicMarkableReference 를 작성합니다. |
|
| 메소드의 개요 | |
|---|---|
boolean |
attemptMark (V expectedReference,
boolean newMark)
「현재의 참조 == 예상되는 참조」인 경우는, 마크의 값이 지정된 갱신치에 원자적으로 설정합니다. |
boolean |
compareAndSet (V expectedReference,
V newReference,
boolean expectedMark,
boolean newMark)
「현재의 참조 == 예상되는 참조」이며, 현재의 마크가 예상되는 마크에 동일한 경우, 참조 및 마크의 값이 지정된 갱신치에 원자적으로 설정합니다. |
V |
get (boolean[] markHolder)
참조 및 마크의 현재가를 돌려줍니다. |
V |
getReference ()
참조의 현재가를 돌려줍니다. |
boolean |
isMarked ()
마크의 현재가를 돌려줍니다. |
void |
set (V newReference,
boolean newMark)
참조 및 마크의 값을 무조건 설정합니다. |
boolean |
weakCompareAndSet (V expectedReference,
V newReference,
boolean expectedMark,
boolean newMark)
「현재의 참조 == 예상되는 참조」이며, 현재의 마크가 예상되는 마크에 동일한 경우, 참조 및 마크의 값이 지정된 갱신치에 원자적으로 설정합니다. |
| 클래스 java.lang. Object 로부터 상속된 메소드 |
|---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| 생성자 의 상세 |
|---|
public AtomicMarkableReference(V initialRef,
boolean initialMark)
AtomicMarkableReference 를 작성합니다.
initialRef - 초기 참조initialMark - 초기 마크| 메소드의 상세 |
|---|
public V getReference()
public boolean isMarked()
public V get(boolean[] markHolder)
boolean[1] holder; ref = v.get(holder); 입니다.
markHolder - 1 이상의 사이즈의 배열. 돌려줄 때에,markholder[0] 은 마크의 값을 보관 유지한다
public boolean weakCompareAndSet(V expectedReference,
V newReference,
boolean expectedMark,
boolean newMark)
== 예상되는 참조」이며, 현재의 마크가 예상되는 마크에 동일한 경우, 참조 및 마크의 값이 지정된 갱신치에 원자적으로 설정합니다.
외관상 실패할 가능성이 있어, 순서부 보증을 제공하지 않기 때문에,compareAndSet 대신에 사용하는 것은 거의 없습니다.
expectedReference - 참조가 예상되는 값newReference - 참조의 새로운 값expectedMark - 마크가 예상되는 값newMark - 마크의 새로운 값
public boolean compareAndSet(V expectedReference,
V newReference,
boolean expectedMark,
boolean newMark)
== 예상되는 참조」이며, 현재의 마크가 예상되는 마크에 동일한 경우, 참조 및 마크의 값이 지정된 갱신치에 원자적으로 설정합니다.
expectedReference - 참조가 예상되는 값newReference - 참조의 새로운 값expectedMark - 마크가 예상되는 값newMark - 마크의 새로운 값
public void set(V newReference,
boolean newMark)
newReference - 참조의 새로운 값newMark - 마크의 새로운 값
public boolean attemptMark(V expectedReference,
boolean newMark)
== 예상되는 참조」인 경우는, 마크의 값이 지정된 갱신치에 원자적으로 설정합니다. 이 조작의 지정된 호출은 모두, 외관상 실패할 (false 를 돌려줄) 가능성이 있습니다. 다만, 현재의 값이 예상되는 값을 보관 유지해, 값의 설정을 시도하는 것 외의 thread가 존재하지 않는 경우는, 호출이 반복해지는 것으로 최종적으로 성공합니다.
expectedReference - 참조가 예상되는 값newMark - 마크의 새로운 값
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.