Class ConcurrencyUtils


  • public class ConcurrencyUtils
    extends java.lang.Object
    Since:
    1.6
    Author:
    Sina Madani
    • 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TOP_LEVEL_THREAD

        public static final java.lang.Thread TOP_LEVEL_THREAD
      • DEFAULT_PARALLELISM

        public static final int DEFAULT_PARALLELISM
        The number of logical cores in the system.
    • Constructor Detail

      • ConcurrencyUtils

        public ConcurrencyUtils()
    • 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)