Class ConcurrencyUtils
- java.lang.Object
-
- org.eclipse.epsilon.common.concurrent.ConcurrencyUtils
-
public class ConcurrencyUtils extends java.lang.Object
- Since:
- 1.6
- Author:
- Sina Madani
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_PARALLELISM
The number of logical cores in the system.static java.lang.Thread
TOP_LEVEL_THREAD
-
Constructor Summary
Constructors Constructor Description ConcurrencyUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <K,V>
java.util.concurrent.ConcurrentMap<K,V>concurrentMap()
static <K,V>
java.util.concurrent.ConcurrentMap<K,V>concurrentMap(int initialCapacity, int parallelism)
static <K,V>
java.util.concurrent.ConcurrentMap<K,V>concurrentMap(java.util.Map<? extends K,? extends V> initial)
static <T> java.util.Collection<T>
concurrentOrderedCollection()
static <T> java.util.Collection<T>
concurrentOrderedCollection(java.util.Collection<? extends T> values)
static <T> java.util.Set<T>
concurrentSet()
static <T> java.util.Set<T>
concurrentSet(int initialCapacity, int parallelism)
static <T> java.util.Set<T>
concurrentSet(java.util.Collection<T> initial)
static void
executeAsync(java.lang.Runnable r1, java.lang.Runnable r2)
Executes the two tasks asynchronously and blocks the calling thread until both have completed.static boolean
isMainThread()
static boolean
isTopLevelThread()
static java.util.concurrent.Callable<?>
runnableToCallable(java.lang.Runnable runnable)
static java.util.Collection<java.util.concurrent.Callable<?>>
runnableToCallable(java.util.Collection<? extends java.lang.Runnable> runnables)
-
-
-
Method Detail
-
isMainThread
public static final boolean isMainThread()
-
isTopLevelThread
public static final boolean isTopLevelThread()
-
concurrentOrderedCollection
public static final <T> java.util.Collection<T> concurrentOrderedCollection()
-
concurrentOrderedCollection
public static <T> java.util.Collection<T> concurrentOrderedCollection(java.util.Collection<? extends T> values)
-
concurrentSet
public static <T> java.util.Set<T> concurrentSet()
-
concurrentSet
public static <T> java.util.Set<T> concurrentSet(java.util.Collection<T> initial)
-
concurrentSet
public static <T> java.util.Set<T> concurrentSet(int initialCapacity, int parallelism)
-
concurrentMap
public static <K,V> java.util.concurrent.ConcurrentMap<K,V> concurrentMap()
-
concurrentMap
public static <K,V> java.util.concurrent.ConcurrentMap<K,V> concurrentMap(java.util.Map<? extends K,? extends V> initial)
-
concurrentMap
public static <K,V> java.util.concurrent.ConcurrentMap<K,V> concurrentMap(int initialCapacity, int parallelism)
-
executeAsync
public static void executeAsync(java.lang.Runnable r1, java.lang.Runnable r2) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
Executes the two tasks asynchronously and blocks the calling thread until both have completed.- Parameters:
t1
-t2
-- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
runnableToCallable
public static java.util.Collection<java.util.concurrent.Callable<?>> runnableToCallable(java.util.Collection<? extends java.lang.Runnable> runnables)
-
runnableToCallable
public static java.util.concurrent.Callable<?> runnableToCallable(java.lang.Runnable runnable)
-
-