|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgpars.GParsExecutorsPool
class GParsExecutorsPool
Enables a ExecutorService-based DSL on closures, objects and collections.
E.g.
GParsExecutorsPool.withPool(5) {ExecutorService service ->
Collection
Constructor Summary | |
GParsExecutorsPool()
|
Method Summary | |
---|---|
static List
|
executeAsync(groovy.lang.Closure closures)
Starts multiple closures in separate threads, collecting Futures for their return values If an exception is thrown from the closure when called on any of the collection's elements, it will be re-thrown in the calling thread when it calls the Future.get() method. |
static List
|
executeAsync(List closures)
Starts multiple closures in separate threads, collecting Futures for their return values If an exception is thrown from the closure when called on any of the collection's elements, it will be re-thrown in the calling thread when it calls the Future.get() method. |
static List
|
executeAsyncAndWait(groovy.lang.Closure closures)
Starts multiple closures in separate threads, collecting their return values If an exception is thrown from the closure when called on any of the collection's elements, it will be re-thrown in the calling thread when it calls the Future.get() method. |
static List
|
executeAsyncAndWait(List closures)
Starts multiple closures in separate threads, collecting their return values If an exception is thrown from the closure when called on any of the collection's elements, it will be re-thrown in the calling thread when it calls the Future.get() method. |
protected static ExecutorService
|
retrieveCurrentPool()
Retrieves the pool assigned to the current thread. |
static def
|
withExistingPool(ExecutorService pool, groovy.lang.Closure cl)
Creates a new instance of ExecutorService, binds it to the current thread, enables the ExecutorService DSL and runs the supplied closure. |
static def
|
withPool(groovy.lang.Closure cl)
Creates a new instance of ExecutorService, binds it to the current thread, enables the ExecutorService DSL and runs the supplied closure. |
static def
|
withPool(int numberOfThreads, groovy.lang.Closure cl)
Creates a new instance of ExecutorService, binds it to the current thread, enables the ExecutorService DSL and runs the supplied closure. |
static def
|
withPool(int numberOfThreads, ThreadFactory threadFactory, groovy.lang.Closure cl)
Creates a new instance of ExecutorService, binds it to the current thread, enables the ExecutorService DSL and runs the supplied closure. |
Methods inherited from class Object | |
---|---|
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail |
---|
GParsExecutorsPool()
Method Detail |
---|
public static List executeAsync(groovy.lang.Closure closures)
public static List executeAsync(List closures)
public static List executeAsyncAndWait(groovy.lang.Closure closures)
public static List executeAsyncAndWait(List closures)
protected static ExecutorService retrieveCurrentPool()
public static def withExistingPool(ExecutorService pool, groovy.lang.Closure cl)
def result = new ConcurrentSkipListSet() GParsExecutorsPool.withPool(5) {ExecutorService service -> [1, 2, 3, 4, 5].eachParallel{Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
public static def withPool(groovy.lang.Closure cl)
def result = new ConcurrentSkipListSet() GParsExecutorsPool.withPool {ExecutorService service -> [1, 2, 3, 4, 5].eachParallel{Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
public static def withPool(int numberOfThreads, groovy.lang.Closure cl)
def result = new ConcurrentSkipListSet() GParsExecutorsPool.withPool(5) {ExecutorService service -> [1, 2, 3, 4, 5].eachParallel{Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
public static def withPool(int numberOfThreads, ThreadFactory threadFactory, groovy.lang.Closure cl)
def result = new ConcurrentSkipListSet() GParsExecutorsPool.withPool(5) {ExecutorService service -> [1, 2, 3, 4, 5].eachParallel{Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
Groovy Documentation