我只是问是否可以使用线程安全
我确切地说“doSomething()”是线程安全的。
答案 0 :(得分:2)
线程安全取决于您正在迭代的Collection,而不是使用enhanced for。如果集合已同步或您未修改集合,则它是线程安全的。的ArrayList<>默认情况下不同步。
答案 1 :(得分:1)
如果doSomething()
修改了Component
实例的状态(它可能会执行,因为它看起来没有返回值),那么不,它不是线程安全的。你自己必须自己处理线程安全。
答案 2 :(得分:1)
如果另一个可以修改compo
变量或compo
变量中的任何元素,则它不是线程安全的。您可以使用ImmutableList
确保它未被修改。