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

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 Details

### DependencyThreadPool

public DependencyThreadPool(int k)

## Method Details

### 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)