我有以下类(class)

public class Guardian {
    volatile String response;
    private Future future;
    private Long time;
}

如果响应要被线程 A 修改,那么线程 B 会通过以下方式看到响应的新值:
Guardian guardian = requestManager.getGuardian();
String response = guardian.getResponse();

最佳答案

假设您知道字符串是不可变的,那么 volatile 关键字可以保证线程 B 将获得 响应 的最后一个值,无论发生在哪个线程上。

关于java - 更改 volatile 字段会更新对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46197616/

10-10 14:17