V -对象的类型称为参考
public class AtomicMarkableReference<V> extends Object
AtomicMarkableReference保持与标志位一个对象的引用,可以自动更新。
注:本实施实施维护标记引用通过创建内部对象表示“智”[参考]对布尔。
| Constructor and Description |
|---|
AtomicMarkableReference(V initialRef, boolean initialMark)
创建具有给定的初始值的一个新的
AtomicMarkableReference。
|
| Modifier and Type | Method and Description |
|---|---|
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)
自动设置的参考标的更新值,如果电流参考
==预计参考当前标记等于预期的标志。
|
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 -至少一个大小的数组。返回时,
markholder[0]将持有的标的价值。
public boolean weakCompareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
==预计参考当前标记等于预期的标志。
May fail spuriously and does not provide ordering guarantees,所以只有很少compareAndSet适当的替代。
expectedReference -参考期望值
newReference为参考的新价值
expectedMark -商标的预期价值
newMark为标志的新价值
true如果成功
public boolean compareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
==预计参考当前标记等于预期的标志。
expectedReference -参考期望值
newReference为参考的新价值
expectedMark -商标的预期价值
newMark为标志的新价值
true如果成功
public void set(V newReference, boolean newMark)
newReference为参考的新价值
newMark为标志的新价值
public boolean attemptMark(V expectedReference, boolean newMark)
==到预期的参考。任何给定的操作调用可能失败(返回
false)不合逻辑,但反复调用时,当前值是期望值和没有其他线程也试图设置值将最终取得成功。
expectedReference -参考期望值
newMark为标志的新价值
true如果成功
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.