0
如果我在Module
之一中使用requestStaticInjection()
以在类中注入static
字段,并且该static
字段可能由不是调用Guice.createInjector()
的字段访问,那么是否需要标记static
字段volatile
以确保它对其他线程可见?从我所知道的一切来看,它看起来像是在线程中发生的静态注入,调用Guice.createInjector()
,并且没有什么特别的事情发生,所以我认为volatile
将是一个好主意。我是否需要使静态注入的值变化?
同意。一般来说,你不应该注入对其他线程可见的对象。在大多数应用程序中,这意味着您将在启动线程池或接受传入连接之前执行静态注入。 – 2011-03-31 06:31:17
其他线程直到注入器创建之后才会启动。那么在那种情况下,离开'volatile'没有问题? – 2011-03-31 12:36:09
确切地说,在这种情况下没有问题。 – jfpoilpret 2011-04-01 04:37:56