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 intDEFAULT_PARALLELISMThe number of logical cores in the system.static java.lang.ThreadTOP_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 voidexecuteAsync(java.lang.Runnable r1, java.lang.Runnable r2)Executes the two tasks asynchronously and blocks the calling thread until both have completed.static booleanisMainThread()static booleanisTopLevelThread()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.ExecutionExceptionExecutes the two tasks asynchronously and blocks the calling thread until both have completed.- Parameters:
t1-t2-- Throws:
java.lang.InterruptedExceptionjava.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)
-
-