gpt4 book ai didi

java - Java中 "volatile"是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:00 24 4
gpt4 key购买 nike

我们在一个项目中使用 volatile 来维护不同线程访问的变量的相同副本。我的问题是是否可以将 volatilestatic 一起使用。编译器没有给出任何错误,但我不明白同时使用两者的原因。

最佳答案

如果没有阅读内存模型规范,我建议您阅读 http://jeremymanson.blogspot.com/2008/11/what-volatile-means-in-java.html 。它是由 Java Memory Model 之一编写的作者,应该回答你的问题。根据 happens-before 来思考内存读写条款也很有帮助; Java 5 及以上版本的 JMM 向 volatile 添加了happens-before 语义。

具体来说,当您从一个线程读取 volatile 变量时,该线程现在可以看到所有写入(包括其他线程对该 volatile 变量的写入)的写入操作。

而且,是的,您可以使用 static volatile 。他们做不同的事情。

关于java - Java中 "volatile"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52915230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com