iinc在Java中是原子的吗?
我知道没有锁定的C ++中增量操作不是原子的。
JVM会在其iinc
指令执行中添加任何锁吗?
回答:
不,这不对
- 检索c的当前值。
- 将检索到的值增加1。
- 将增加的值存储回c中。
原子性和线程干扰的Java文档
您需要使用synchronized
关键字或使用AtomicXXX
方法来确保线程安全。
:
public synchronized void increment() { c++;
}
要么
AtomicInteger integer = new AtomicInteger(1);//somewhere else in code
integer.incrementAndGet();
以上是 iinc在Java中是原子的吗? 的全部内容, 来源链接: utcz.com/qa/413731.html