我想弄清楚在 Groovy 中是否有比 usual way in Java 更“groovy”的线程安全迭代方法在同步块(synchronized block)内迭代 Collections.synchronizedList
,但我发现没有提及此问题 (http://groovy.codehaus.org/Looping)。
each
和 eachWithIndex
是线程安全的吗?如果没有,是否有一种简单的方法来迭代 Groovy 已经提供的线程安全?还是应该使用旧的 Java 方式?
提前致谢。
最佳答案
Groovy 的 each 在下面使用迭代器(参见 DefaultGroovyMethods 中的 each 方法)。因此,不,它们本身不是线程安全的。但是您显然仍然可以在同步块(synchronized block)中使用它们。您可能还对 @Synchronized 感兴趣AST 转换。
关于multithreading - Groovy 中的线程安全迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145764/