org.apache.sysds.runtime.util

## Class CommonThreadPool

- java.lang.Object
- - org.apache.sysds.runtime.util.CommonThreadPool

- All Implemented Interfaces:
    Executor, ExecutorService

      public class CommonThreadPool
      extends Object
      implements ExecutorService

  This common thread pool provides an abstraction to obtain a shared thread pool, specifically the ForkJoinPool.commonPool, for all requests of the maximum degree of parallelism. If pools of different size are requested, we create new pool instances of FixedThreadPool.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CommonThreadPool(ExecutorService pool)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `awaitTermination(long timeout, TimeUnit unit)`
    `void` | `execute(Runnable command)`
    `static ExecutorService` | `get(int k)`
    `<T> List<Future<T>>` | `invokeAll(Collection<? extends Callable<T>> tasks)`
    `<T> List<Future<T>>` | `invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
    `static <T> void` | `invokeAndShutdown(ExecutorService pool, Collection<? extends Callable<T>> tasks)`
    `<T> T` | `invokeAny(Collection<? extends Callable<T>> tasks)`
    `<T> T` | `invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
    `boolean` | `isShutdown()`
    `boolean` | `isTerminated()`
    `void` | `shutdown()`
    `List<Runnable>` | `shutdownNow()`
    `static void` | `shutdownShared()`
    `<T> Future<T>` | `submit(Callable<T> task)`
    `Future<?>` | `submit(Runnable task)`
    `<T> Future<T>` | `submit(Runnable task, T result)`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CommonThreadPool

          public CommonThreadPool(ExecutorService pool)

  - ### Method Detail

    - #### get

          public static ExecutorService get(int k)

    - #### invokeAndShutdown

          public static <T> void invokeAndShutdown(ExecutorService pool,
                                                   Collection<? extends Callable<T>> tasks)

    - #### shutdownShared

          public static void shutdownShared()

    - #### shutdown

          public void shutdown()

      Specified by:
        `shutdown` in interface `ExecutorService`

    - #### shutdownNow

          public List<Runnable> shutdownNow()

      Specified by:
        `shutdownNow` in interface `ExecutorService`

    - #### invokeAll

          public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks)
                                        throws InterruptedException

      Specified by:
        `invokeAll` in interface `ExecutorService`
      Throws:
        `InterruptedException`

    - #### invokeAll

          public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks,
                                               long timeout,
                                               TimeUnit unit)
                                        throws InterruptedException

      Specified by:
        `invokeAll` in interface `ExecutorService`
      Throws:
        `InterruptedException`

    - #### execute

          public void execute(Runnable command)

      Specified by:
        `execute` in interface `Executor`

    - #### submit

          public <T> Future<T> submit(Callable<T> task)

      Specified by:
        `submit` in interface `ExecutorService`

    - #### submit

          public <T> Future<T> submit(Runnable task,
                                      T result)

      Specified by:
        `submit` in interface `ExecutorService`

    - #### submit

          public Future<?> submit(Runnable task)

      Specified by:
        `submit` in interface `ExecutorService`

    - #### isShutdown

          public boolean isShutdown()

      Specified by:
        `isShutdown` in interface `ExecutorService`

    - #### isTerminated

          public boolean isTerminated()

      Specified by:
        `isTerminated` in interface `ExecutorService`

    - #### awaitTermination

          public boolean awaitTermination(long timeout,
                                          TimeUnit unit)
                                   throws InterruptedException

      Specified by:
        `awaitTermination` in interface `ExecutorService`
      Throws:
        `InterruptedException`

    - #### invokeAny

          public <T> T invokeAny(Collection<? extends Callable<T>> tasks)
                          throws InterruptedException,
                                 ExecutionException

      Specified by:
        `invokeAny` in interface `ExecutorService`
      Throws:
        `InterruptedException`
        `ExecutionException`

    - #### invokeAny

          public <T> T invokeAny(Collection<? extends Callable<T>> tasks,
                                 long timeout,
                                 TimeUnit unit)
                          throws InterruptedException,
                                 ExecutionException,
                                 TimeoutException

      Specified by:
        `invokeAny` in interface `ExecutorService`
      Throws:
        `InterruptedException`
        `ExecutionException`
        `TimeoutException`

Copyright © 2020 The Apache Software Foundation. All rights reserved.