gpt4 book ai didi

java - 内存一致性属性解释

转载 作者:行者123 更新时间:2023-12-02 11:38:47 24 4
gpt4 key购买 nike

我正在看https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/package-summary.html#MemoryVisibility并且难以理解这意味着什么 - “线程中的所有操作都发生在任何其他线程从该线程上的连接成功返回之前。”我可以举个例子来说明这意味着什么以及示例中的发生之前保证是什么。

最佳答案

如果你有以下代码

public class Test {

public static int i = 1;
public static void main(String[] args) throws Exception {
System.out.println("Start main");
Thread t = new Thread(new Runnable() {
public void run() {
System.out.println("Start second");
i = 10;
}
});
t.start();
t.join();
System.out.println("After join");
System.out.println(i); //should print 10
}
}

run()内完成的一切方法在主线程从 t.join(); 获取控制权之前发生。这就是为什么静态变量 i将有值(value)10在主线程中打印时。

关于java - 内存一致性属性解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48727925/

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