Package org.apache.sysds.runtime.util

## Class DependencyThreadPool

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

-     public class DependencyThreadPool
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DependencyThreadPool​(int k)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static List<List<? extends Callable<?>>>` | `createDependencyList​(List<? extends Callable<?>> tasks, Map<Integer[],​Integer[]> depMap, List<List<? extends Callable<?>>> dep)` |
    `static DependencyTask<?>` | `createDependencyTask​(Callable<?> task)` |
    `static List<DependencyTask<?>>` | `createDependencyTasks​(List<? extends Callable<?>> tasks, List<List<? extends Callable<?>>> dependencies)` |
    `static void` | `explainTaskGraph​(List<DependencyTask<?>> tasks)` |
    `void` | `shutdown()` |
    `List<Future<Future<?>>>` | `submitAll​(List<? extends Callable<?>> tasks, List<List<? extends Callable<?>>> dependencies)` |
    `List<Future<Future<?>>>` | `submitAll​(List<DependencyTask<?>> dtasks)` |
    `List<Object>` | `submitAllAndWait​(List<DependencyTask<?>> dtasks)` |

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

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

- - ### Constructor Detail

    - #### DependencyThreadPool

          public DependencyThreadPool​(int k)

  - ### Method Detail

    - #### shutdown

          public void shutdown()

    - #### submitAll

          public List<Future<Future<?>>> submitAll​(List<DependencyTask<?>> dtasks)

    - #### submitAll

          public List<Future<Future<?>>> submitAll​(List<? extends Callable<?>> tasks,
                                                   List<List<? extends Callable<?>>> dependencies)

    - #### submitAllAndWait

          public List<Object> submitAllAndWait​(List<DependencyTask<?>> dtasks)
                                        throws ExecutionException,
                                               InterruptedException

      Throws:
        `ExecutionException`
        `InterruptedException`

    - #### createDependencyTask

          public static DependencyTask<?> createDependencyTask​(Callable<?> task)

    - #### createDependencyList

          public static List<List<? extends Callable<?>>> createDependencyList​(List<? extends Callable<?>> tasks,
                                                                               Map<Integer[],​Integer[]> depMap,
                                                                               List<List<? extends Callable<?>>> dep)

    - #### createDependencyTasks

          public static List<DependencyTask<?>> createDependencyTasks​(List<? extends Callable<?>> tasks,
                                                                      List<List<? extends Callable<?>>> dependencies)

    - #### explainTaskGraph

          public static void explainTaskGraph​(List<DependencyTask<?>> tasks)