如果我在requestStaticInjection()
之一中使用Module
在类中注入static
字段,则线程可能会访问static
字段那不是调用Guice.createInjector()
的人,static
字段是否需要标记为volatile
以确保其他线程可见?从我能说的一切来看,看起来静态注入发生在调用Guice.createInjector()
的线程中,并且没有其他任何特殊的东西,所以我认为volatile
是个好主意。< / p>
答案 0 :(得分:2)
IIRC Guice静态注入在Injector
创建时执行。
因此,如果另一个线程在创建之后运行,则应该没有问题。
否则,您可能会遇到问题;但我通常会避免在创建 Injector
期间在幕后执行太多工作,我宁愿在Injector
返回Guice.createInjector()
之后开始“填充” }}
对代码进行更详细的描述可能有助于找到更好的答案。