最佳答案
我在下面读到过。
关键字并不意味着原子,这是它常见的误解 在声明易失性之后,
++
操作将是原子操作,以使 您仍然需要使用操作原子来确保独占访问 Java 中的synchronized
方法或块。
那么,如果两个线程同时攻击一个 volatile
基本变量会发生什么情况呢?
这是否意味着无论谁锁定了它,都将首先设定它的价值。如果同时,其他线程出现并读取旧值而第一个线程改变了它的值,那么新线程不会读取它的旧值吗?
原子关键字和易失性关键字的区别是什么?