gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:21:56 27 4
gpt4 key购买 nike

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

最佳答案

内存模型规范阅读不足,推荐阅读http://jeremymanson.blogspot.com/2008/11/what-volatile-means-in-java.html .它由 JMM 的一位作者撰写,应该可以回答您的问题。根据 happens-before 考虑内存读取和写入子句也有帮助; Java 5 及更高版本的 JMM 向 volatile 添加了happens-before 语义。

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

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

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

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