Java中的哪些操作被认为是原子的?

Java中的哪些操作被认为是原子的?

Java中的哪些操作被认为是原子的?



喵喵时光机
浏览 770回答 3
3回答

手掌心

除long和double之外的所有原始类型的赋值所有参考作业所有volatile变量的赋值java.concurrent.Atomic * classes的所有操作也许还有更多。看看jls。正如评论中所指出的,原子性并不意味着可见性。因此,虽然保证另一个线程不会看到部分写入int,但它可能永远不会看到新值。long和double上的操作也是普通的64位CPU 原子,尽管不能保证。另请参阅此功能请求。

海绵宝宝撒

在Java中,32位或更小数量的读写保证是原子的。原子,我们的意思是每个动作都在一个步骤中发生,不能被打断。因此,当我们有多线程应用程序时,读写操作是线程安全的,不需要进行同步。例如,以下代码是线程安全的:public class ThreadSafe      {       private int x;       public void setX(int x)             {            this.x = x;            }    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java