gpt4 book ai didi

Java,多线程类,配置,避免同步

转载 作者:行者123 更新时间:2023-11-30 07:27:14 25 4
gpt4 key购买 nike

假设我有一个类需要配置、依赖注入(inject)等。

public class MyClass {
private String someConfig;
private SomeMutableClass anotherConfig;


MyClass() {
// impractical to set everything in ctor
// otherwise I'd declare someConfig final and
// not worry about MT safety.
}

void setConfig(cfg) {
this.someConfig = cfg;
}
void anotherConfig(cfg) {
this.anotherConfig = cfg;
}

...

// below is code that uses the config set before, possibly by
// multiple threads.

}

这是一个人为的例子,但如果我不能轻易地在 ctor 中完成所有配置怎么办?假设配置在执行早期完成并且不会更改。严格来说,由于内存模型,我必须同步所有对 someConfig 的引用。实践中能否放宽这一要求?

最佳答案

是的,通过将字段声明为 volatile

关于Java,多线程类,配置,避免同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9864964/

25 4 0
文章推荐: Java迷宫解决和强化学习
文章推荐: javascript - 如何让
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com