|
org.codehaus.gpars | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovyx.gpars.GParsPoolUtil
public class GParsPoolUtil
This class forms the core of the DSL initialized by GParsPool. The static methods of GParsPoolUtil get attached to their first arguments (the Groovy Category mechanism) and can be then invoked as if they were part of the argument classes.
Field Summary | |
---|---|
private static GeneralTimer |
timer
Allows timeouts for async operations |
Constructor Summary | |
GParsPoolUtil()
|
Method Summary | |
---|---|
static boolean
|
anyParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static boolean
|
anyParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static boolean
|
anyParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withFilter() method using the supplied closure as the filter predicate. |
static void
|
asConcurrent(java.lang.Object collection, groovy.lang.Closure code)
Makes the collection concurrent for the passed-in block of code. |
static groovy.lang.Closure
|
async(groovy.lang.Closure cl)
Creates an asynchronous variant of the supplied closure, which, when invoked returns a future for the potential return value |
static groovy.lang.Closure
|
asyncFun(groovy.lang.Closure original)
Creates an asynchronous and composable variant of the supplied closure, which, when invoked returns a DataflowVariable for the potential return value |
static groovy.lang.Closure
|
asyncFun(groovy.lang.Closure original, boolean blocking)
Creates an asynchronous and composable variant of the supplied closure, which, when invoked returns a DataflowVariable for the potential return value |
static groovy.lang.Closure
|
asyncFun(groovy.lang.Closure original, FJPool pool)
Creates an asynchronous and composable variant of the supplied closure, which, when invoked returns a DataflowVariable for the potential return value |
static groovy.lang.Closure
|
asyncFun(groovy.lang.Closure original, FJPool pool, boolean blocking)
Creates an asynchronous and composable variant of the supplied closure, which, when invoked returns a DataflowVariable for the potential return value |
static java.util.concurrent.Future
|
callAsync(groovy.lang.Closure cl, java.lang.Object... args)
Calls a closure in a separate thread supplying the given arguments, returning a future for the potential return value. |
static java.util.concurrent.Future
|
callParallel(groovy.lang.Closure task)
schedules the supplied closure for processing in the underlying thread pool. |
static java.util.concurrent.Future
|
callTimeoutAsync(groovy.lang.Closure cl, long timeout, java.lang.Object... args)
Calls a closure in a separate thread supplying the given arguments, returning a future for the potential return value. |
static java.util.concurrent.Future
|
callTimeoutAsync(groovy.lang.Closure cl, groovy.time.Duration timeout, java.lang.Object... args)
Calls a closure in a separate thread supplying the given arguments, returning a future for the potential return value. |
static java.util.List
|
collectManyParallel(java.util.Collection collection, groovy.lang.Closure projection)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied
|
static java.util.List
|
collectManyParallel(java.lang.Object collection, groovy.lang.Closure projection)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied
|
static java.util.List
|
collectManyParallel(java.util.Map collection, groovy.lang.Closure projection)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied
|
static java.util.Collection
|
collectParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.util.Collection
|
collectParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.util.Collection
|
collectParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withMapping() method using the supplied closure as the transformation operation. |
static int
|
countParallel(java.util.Collection collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static int
|
countParallel(java.lang.Object collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static int
|
countParallel(java.util.Collection collection, groovy.lang.Closure filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static int
|
countParallel(java.lang.Object collection, groovy.lang.Closure filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
private static ParallelArray
|
createPA(java.util.Map collection, ForkJoinPool pool)
|
static java.util.Collection
|
eachParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.lang.Object
|
eachParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.util.Map
|
eachParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.util.Collection
|
eachWithIndexParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.lang.Object
|
eachWithIndexParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the transformation operation. |
static java.util.Map
|
eachWithIndexParallel(java.util.Map collection, groovy.lang.Closure cl)
Does parallel eachWithIndex on maps |
static boolean
|
everyParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static boolean
|
everyParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static boolean
|
everyParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.util.Collection
|
findAllParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.util.Collection
|
findAllParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.util.Map
|
findAllParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.lang.Object
|
findAnyParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.lang.Object
|
findAnyParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.util.Map$Entry
|
findAnyParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.lang.Object
|
findParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.lang.Object
|
findParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.util.Map$Entry
|
findParallel(java.util.Map collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied map and invokes the withFilter() method using the supplied closure as the filter predicate. |
static java.lang.Object
|
foldParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its reduce() method using the supplied closure as the reduction operation. |
static java.lang.Object
|
foldParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its reduce() method using the supplied closure as the reduction operation. |
static java.lang.Object
|
foldParallel(java.util.Collection collection, java.lang.Object seed, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its reduce() method using the supplied closure as the reduction operation. |
static java.lang.Object
|
foldParallel(java.lang.Object collection, java.lang.Object seed, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its reduce() method using the supplied closure as the reduction operation. |
static PAWrapper
|
getParallel(java.util.Collection collection)
Creates a PAWrapper around a ParallelArray wrapping the elements of the original collection. |
static PAWrapper
|
getParallel(java.lang.Object collection)
Creates a PAWrapper around a ParallelArray wrapping the elements of the original collection. |
static ParallelArray
|
getParallelArray(java.util.Collection collection)
Creates a ParallelArray wrapping the elements of the original collection. |
static ParallelArray
|
getParallelArray(java.lang.Object collection)
Creates a ParallelArray wrapping the elements of the original collection. |
static groovy.lang.Closure
|
gmemoize(groovy.lang.Closure cl)
Creates a caching variant of the supplied closure. |
static groovy.lang.Closure
|
gmemoizeAtLeast(groovy.lang.Closure cl, int protectedCacheSize)
Creates a caching variant of the supplied closure with automatic cache size adjustment and lower limit on the cache size. |
static groovy.lang.Closure
|
gmemoizeAtMost(groovy.lang.Closure cl, int maxCacheSize)
Creates a caching variant of the supplied closure with upper limit on the cache size. |
static groovy.lang.Closure
|
gmemoizeBetween(groovy.lang.Closure cl, int protectedCacheSize, int maxCacheSize)
Creates a caching variant of the supplied closure with automatic cache size adjustment and lower and upper limits on the cache size. |
static java.util.Collection
|
grepParallel(java.util.Collection collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static java.lang.Object
|
grepParallel(java.lang.Object collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static java.util.Map
|
grepParallel(java.util.Map collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied map and invokes the withFilter() method using the supplied rule as the filter predicate. |
static java.util.Map
|
groupByParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the mapping predicate. |
static java.util.Map
|
groupByParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes the withMapping() method using the supplied closure as the mapping predicate. |
private static java.util.Map
|
groupByParallelPA(ParallelArray pa, groovy.lang.Closure cl)
|
static boolean
|
isConcurrent(java.lang.Object collection)
Indicates whether the iterative methods like each() or collect() work have been altered to work concurrently. |
static java.util.concurrent.Future
|
leftShift(ForkJoinPool pool, groovy.lang.Closure task)
Submits the task for asynchronous processing returning the Future received from the executor service. |
static java.lang.Object
|
makeConcurrent(java.lang.Object collection)
Overrides the iterative methods like each(), collect() and such, so that they call their parallel variants from the GParsPoolUtil class like eachParallel(), collectParallel() and such. |
static java.lang.Object
|
makeSequential(java.lang.Object collection)
Gives the iterative methods like each() or find() the original sequential semantics. |
static java.lang.Object
|
maxParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its max() method using the supplied closure as the comparator. |
static java.lang.Object
|
maxParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its max() method using the supplied closure as the comparator. |
static java.lang.Object
|
maxParallel(java.util.Collection collection)
Creates a Parallel Array out of the supplied collection/object and invokes its max() method using the default comparator. |
static java.lang.Object
|
maxParallel(java.lang.Object collection)
Creates a Parallel Array out of the supplied collection/object and invokes its max() method using the default comparator. |
static java.lang.Object
|
minParallel(java.util.Collection collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its min() method using the supplied closure as the comparator. |
static java.lang.Object
|
minParallel(java.lang.Object collection, groovy.lang.Closure cl)
Creates a Parallel Array out of the supplied collection/object and invokes its min() method using the supplied closure as the comparator. |
static java.lang.Object
|
minParallel(java.util.Collection collection)
Creates a Parallel Array out of the supplied collection/object and invokes its min() method using the default comparator. |
static java.lang.Object
|
minParallel(java.lang.Object collection)
Creates a Parallel Array out of the supplied collection/object and invokes its min() method using the default comparator. |
private static ForkJoinPool
|
retrievePool()
|
static java.util.Collection
|
splitParallel(java.util.Collection collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static java.lang.Object
|
splitParallel(java.lang.Object collection, java.lang.Object filter)
Creates a Parallel Array out of the supplied collection/object and invokes the withFilter() method using the supplied rule as the filter predicate. |
static java.lang.Object
|
sumParallel(java.util.Collection collection)
Creates a Parallel Array out of the supplied collection/object and summarizes its elements using the foldParallel() method with the + operator and the reduction operation. |
static java.lang.Object
|
sumParallel(java.lang.Object collection)
Creates a Parallel Array out of the supplied collection/object and summarizes its elements using the foldParallel() method with the + operator and the reduction operation. |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
private static final GeneralTimer timer
Constructor Detail |
---|
GParsPoolUtil()
Method Detail |
---|
public static boolean anyParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* assert [1, 2, 3, 4, 5].anyParallel {Number number -> number > 3}* assert ![1, 2, 3].anyParallel {Number number -> number > 3}*}*
public static boolean anyParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* assert [1, 2, 3, 4, 5].anyParallel {Number number -> number > 3}* assert ![1, 2, 3].anyParallel {Number number -> number > 3}*}*
public static boolean anyParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool {* assert [1, 2, 3, 4, 5].anyParallel {Number number -> number > 3}* assert ![1, 2, 3].anyParallel {Number number -> number > 3}*}*
public static void asConcurrent(java.lang.Object collection, groovy.lang.Closure code)
collection
- The collection to enhancecode
- The closure to run with the collection enhanced.
public static groovy.lang.Closure async(groovy.lang.Closure cl)
public static groovy.lang.Closure asyncFun(groovy.lang.Closure original)
public static groovy.lang.Closure asyncFun(groovy.lang.Closure original, boolean blocking)
public static groovy.lang.Closure asyncFun(groovy.lang.Closure original, FJPool pool)
public static groovy.lang.Closure asyncFun(groovy.lang.Closure original, FJPool pool, boolean blocking)
public static java.util.concurrent.Future callAsync(groovy.lang.Closure cl, java.lang.Object... args)
public static java.util.concurrent.Future callParallel(groovy.lang.Closure task)
public static java.util.concurrent.Future callTimeoutAsync(groovy.lang.Closure cl, long timeout, java.lang.Object... args)
timeout
- The timeout in milliseconds to wait before the calculation gets cancelled.
public static java.util.concurrent.Future callTimeoutAsync(groovy.lang.Closure cl, groovy.time.Duration timeout, java.lang.Object... args)
timeout
- The timeout to wait before the calculation gets cancelled.
public static java.util.List collectManyParallel(java.util.Collection collection, groovy.lang.Closure projection)
projection
closure as the transformation operation. The projection
closure should return a
(possibly empty) collection of items which are subsequently flattened to produce a new collection.
The projection
closure will be effectively invoked concurrently on the elements of the original collection.
It's important to protect any shared resources used by the supplied closure from race conditions caused by multi-threaded access.
Alternatively a DSL can be used to simplify the code. All collections/objects within the withPool block
have a new collectManyParallel(Closure projection) method, which delegates to the GParsPoolUtil class.
Example:
GParsPool.withPool {* def squaresAndCubesOfOdds = [1, 2, 3, 4, 5].collectManyParallel { Number number -> number % 2 ? [number ** 2, number ** 3] : [] }* assert squaresAndCubesOfOdds == [1, 1, 9, 27, 25, 125] }*
public static java.util.List collectManyParallel(java.lang.Object collection, groovy.lang.Closure projection)
projection
closure as the transformation operation. The projection
closure should return a
(possibly empty) collection of items which are subsequently flattened to produce a new collection.
The projection
closure will be effectively invoked concurrently on the elements of the original collection.
It's important to protect any shared resources used by the supplied closure from race conditions caused by multi-threaded access.
Alternatively a DSL can be used to simplify the code. All collections/objects within the withPool block
have a new collectManyParallel(Closure projection) method, which delegates to the GParsPoolUtil class.
Example:
GParsPool.withPool {* def squaresAndCubesOfOdds = [1, 2, 3, 4, 5].collectManyParallel { Number number -> number % 2 ? [number ** 2, number ** 3] : [] }* assert squaresAndCubesOfOdds == [1, 1, 9, 27, 25, 125] }*
public static java.util.List collectManyParallel(java.util.Map collection, groovy.lang.Closure projection)
projection
closure as the transformation operation. The projection
closure should return a
(possibly empty) collection of items which are subsequently flattened to produce a new collection.
The projection
closure will be effectively invoked concurrently on the elements of the original collection.
It's important to protect any shared resources used by the supplied closure from race conditions caused by multi-threaded access.
Alternatively a DSL can be used to simplify the code. All collections/objects within the withPool block
have a new collectManyParallel(Closure projection) method, which delegates to the GParsPoolUtil class.
Example:
GParsPool.withPool {* def squaresAndCubesOfOdds = [1, 2, 3, 4, 5].collectManyParallel { Number number -> number % 2 ? [number ** 2, number ** 3] : [] }* assert squaresAndCubesOfOdds == [1, 1, 9, 27, 25, 125] }*
public static java.util.Collection collectParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].collectParallel {Number number -> number * 10}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
public static java.util.Collection collectParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].collectParallel {Number number -> number * 10}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
public static java.util.Collection collectParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].collectParallel {Number number -> number * 10}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*
public static int countParallel(java.util.Collection collection, java.lang.Object filter)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].countParallel(4) assertEquals(1, result) }*
public static int countParallel(java.lang.Object collection, java.lang.Object filter)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].countParallel(4) assertEquals(1, result) }*
public static int countParallel(java.util.Collection collection, groovy.lang.Closure filter)
GParsPool.withPool {* def isOdd = { it % 2 }* def result = [1, 2, 3, 4, 5].countParallel(isOdd) assert result == 3 }*
public static int countParallel(java.lang.Object collection, groovy.lang.Closure filter)
GParsPool.withPool {* def isEven = { it % 2 == 0 }* def result = [1, 2, 3, 4, 5].countParallel(isEven) assert result == 2 }*
private static ParallelArray createPA(java.util.Map collection, ForkJoinPool pool)
public static java.util.Collection eachParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = new ConcurrentSkipListSet() [1, 2, 3, 4, 5].eachParallel {Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*Note that the result variable is synchronized to prevent race conditions between multiple threads.
public static java.lang.Object eachParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = new ConcurrentSkipListSet() [1, 2, 3, 4, 5].eachParallel {Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*Note that the result variable is synchronized to prevent race conditions between multiple threads.
public static java.util.Map eachParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = new ConcurrentSkipListSet() [1, 2, 3, 4, 5].eachParallel {Number number -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*Note that the result variable is synchronized to prevent race conditions between multiple threads.
public static java.util.Collection eachWithIndexParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = new ConcurrentSkipListSet() [1, 2, 3, 4, 5].eachWithIndexParallel {Number number, int index -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*Note that the result variable is synchronized to prevent race conditions between multiple threads.
public static java.lang.Object eachWithIndexParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = new ConcurrentSkipListSet() [1, 2, 3, 4, 5].eachWithIndexParallel {Number number, int index -> result.add(number * 10)}* assertEquals(new HashSet([10, 20, 30, 40, 50]), result) }*Note that the result variable is synchronized to prevent race conditions between multiple threads.
public static java.util.Map eachWithIndexParallel(java.util.Map collection, groovy.lang.Closure cl)
public static boolean everyParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool(5) {* assert ![1, 2, 3, 4, 5].everyParallel {Number number -> number > 3}* assert [1, 2, 3].everyParallel() {Number number -> number <= 3}*}*
public static boolean everyParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool(5) {* assert ![1, 2, 3, 4, 5].everyParallel {Number number -> number > 3}* assert [1, 2, 3].everyParallel() {Number number -> number <= 3}*}*
public static boolean everyParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool(5) {* assert ![1, 2, 3, 4, 5].everyParallel {Number number -> number > 3}* assert [1, 2, 3].everyParallel() {Number number -> number <= 3}*}*
public static java.util.Collection findAllParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findAllParallel {Number number -> number > 3}* assertEquals(new HashSet([4, 5]), result) }*
public static java.util.Collection findAllParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findAllParallel {Number number -> number > 3}* assertEquals(new HashSet([4, 5]), result) }*
public static java.util.Map findAllParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findAllParallel {Number number -> number > 3}* assertEquals(new HashSet([4, 5]), result)
}*
public static java.lang.Object findAnyParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findParallel {Number number -> number > 3}* assert (result in [4, 5]) }*
public static java.lang.Object findAnyParallel(java.lang.Object collection, groovy.lang.Closure cl)
public static java.util.Map$Entry findAnyParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findAnyParallel {Number number -> number > 3}* assert (result in [4, 5]) }*
@SuppressWarnings("GroovyAssignabilityCheck") public static java.lang.Object findParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findParallel {Number number -> number > 3}* assert (result in [4, 5]) }*
public static java.lang.Object findParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findParallel {Number number -> number > 3}* assert (result in [4, 5]) }*
public static java.util.Map$Entry findParallel(java.util.Map collection, groovy.lang.Closure cl)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].findParallel {Number number -> number > 3}* assert (result in [4, 5]) }*
@SuppressWarnings("GroovyAssignabilityCheck") public static java.lang.Object foldParallel(java.util.Collection collection, groovy.lang.Closure cl)
public static java.lang.Object foldParallel(java.lang.Object collection, groovy.lang.Closure cl)
public static java.lang.Object foldParallel(java.util.Collection collection, java.lang.Object seed, groovy.lang.Closure cl)
seed
- A seed value to initialize the operation
public static java.lang.Object foldParallel(java.lang.Object collection, java.lang.Object seed, groovy.lang.Closure cl)
seed
- A seed value to initialize the operation
public static PAWrapper getParallel(java.util.Collection collection)
public static PAWrapper getParallel(java.lang.Object collection)
@SuppressWarnings("GroovyAssignabilityCheck") public static ParallelArray getParallelArray(java.util.Collection collection)
public static ParallelArray getParallelArray(java.lang.Object collection)
public static groovy.lang.Closure gmemoize(groovy.lang.Closure cl)
public static groovy.lang.Closure gmemoizeAtLeast(groovy.lang.Closure cl, int protectedCacheSize)
public static groovy.lang.Closure gmemoizeAtMost(groovy.lang.Closure cl, int maxCacheSize)
maxCacheSize
- The maximum size the cache can grow to
public static groovy.lang.Closure gmemoizeBetween(groovy.lang.Closure cl, int protectedCacheSize, int maxCacheSize)
public static java.util.Collection grepParallel(java.util.Collection collection, java.lang.Object filter)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].grepParallel(4..6) assertEquals(new HashSet([4, 5]), result) }*
public static java.lang.Object grepParallel(java.lang.Object collection, java.lang.Object filter)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].grepParallel(4..6) assertEquals(new HashSet([4, 5]), result) }*
public static java.util.Map grepParallel(java.util.Map collection, java.lang.Object filter)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].grepParallel(4..6) assertEquals(new HashSet([4, 5]), result) }*
public static java.util.Map groupByParallel(java.util.Collection collection, groovy.lang.Closure cl)
GParsPool.withPool {* assert ([1, 2, 3, 4, 5].groupByParallel {Number number -> number % 2}).size() == 2 }*
public static java.util.Map groupByParallel(java.lang.Object collection, groovy.lang.Closure cl)
GParsPool.withPool {* assert ([1, 2, 3, 4, 5].groupByParallel {Number number -> number % 2}).size() == 2 }*
private static java.util.Map groupByParallelPA(ParallelArray pa, groovy.lang.Closure cl)
public static boolean isConcurrent(java.lang.Object collection)
public static java.util.concurrent.Future leftShift(ForkJoinPool pool, groovy.lang.Closure task)
executorService << {println 'Inside parallel task'}*
public static java.lang.Object makeConcurrent(java.lang.Object collection)
collection
- The object to make transparent
public static java.lang.Object makeSequential(java.lang.Object collection)
collection
- The collection to apply the change to
@SuppressWarnings("GroovyAssignabilityCheck") public static java.lang.Object maxParallel(java.util.Collection collection, groovy.lang.Closure cl)
cl
- A one or two-argument closure
public static java.lang.Object maxParallel(java.lang.Object collection, groovy.lang.Closure cl)
cl
- A one or two-argument closure
@SuppressWarnings("GroovyAssignabilityCheck") public static java.lang.Object maxParallel(java.util.Collection collection)
public static java.lang.Object maxParallel(java.lang.Object collection)
@SuppressWarnings("GroovyAssignabilityCheck") public static java.lang.Object minParallel(java.util.Collection collection, groovy.lang.Closure cl)
cl
- A one or two-argument closure
public static java.lang.Object minParallel(java.lang.Object collection, groovy.lang.Closure cl)
cl
- A one or two-argument closure
@SuppressWarnings("GroovyAssignabilityCheck") public static java.lang.Object minParallel(java.util.Collection collection)
public static java.lang.Object minParallel(java.lang.Object collection)
private static ForkJoinPool retrievePool()
public static java.util.Collection splitParallel(java.util.Collection collection, java.lang.Object filter)
public static java.lang.Object splitParallel(java.lang.Object collection, java.lang.Object filter)
GParsPool.withPool {* def result = [1, 2, 3, 4, 5].splitParallel(4..6) assert [3, 4, 5] as Set == result[0] as Set assert [1, 2] as Set == result[1] as Set }*
public static java.lang.Object sumParallel(java.util.Collection collection)
public static java.lang.Object sumParallel(java.lang.Object collection)
Copyright © 2008–2012 Václav Pech. All Rights Reserved.