我已经读过使用Java来使用处理器的CAS指令的可能性。
当我用Google搜索示例时,我只找到了类似的类 SimulatedCAS。 这个类显然只是CAS的模拟(顾名思义......),使用commmon“synchronized”对它的类方法。
所以我想知道,如何使用Java真正使用CAS指令?
答案 0 :(得分:3)
查看AtomicBoolean
和AtomicReference
等类。它们是抽象的,可以做你想要的,但实际上并不是 on CPU。
我使用的一种模式是线程安全状态保持。
private final AtomicBoolean isClosed = new AtomicBoolean(false);
...
public void close() {
if (this.isClosed.compareAndSet(false, true) {
....
}
}