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 and Description
`DependencyThreadPool(int k)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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)`
`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)