我知道没有锁定的C++中增量操作不是原子的。
JVM会在iinc
指令的实现中添加任何锁吗?
最佳答案
不,这不对
Java Documentation for Atomicity and Thread Interference
为了线程安全,您需要使用
synchronized
关键字或使用AtomicXXX
方法。更新:
public synchronized void increment() {
c++;
}
或者
AtomicInteger integer = new AtomicInteger(1);
//somewhere else in code
integer.incrementAndGet();
另请参阅:Is iinc atomic in Java?