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.