На данный момент у меня есть код, подобный следующему в groovy
HashMap map = new HashMap() for(char i='a'; i<='z'; i++) { def name = getName(i) def info getInfo(i) map.put(name, info) } serializeMap(map)
Каков наилучший способ запустить этот цикл одновременно в Groovy?
Доступно расширение Groovy, которое называется GPars .Он поддерживает несколько методов параллелизма, таких как Fork / Join или модель Actor.Используя GPars, ваш код мог бы выглядеть так (я не мог понять, что именно вы перебираете):
import groovyx.gpars.GParsPool Map map = [:] as ConcurrentMap GParsPool.withPool { chars.eachParallel { i -> def name = getName(i) def info = getInfo(i) map[name] << info } }
Использование потоков Java:
Stream.of("a", "b", "c", "a1", "b1", "c1", "a2", "b2", "c2") .parallel() .forEach({ println it })