Должен ли я использовать CachedThreadPool или newWorkStealingPool? - PullRequest
0 голосов
/ 01 февраля 2019

Ниже приведен мой фрагмент кода, где я создаю несколько дочерних задач (вызываемая реализация) из родительской задачи (другая вызываемая реализация).У меня вопрос, должен ли я использовать cachedthreadpool или newWorkStealingPool внутри родительской задачи. Число дочерней задачи, которая должна быть создана, вычисляется во время выполнения

открытый класс CallableParent реализует Callable {

ExecutorService executorService = Executors.newCachedThreadPool();

public String call() throws Exception {
    // Perform some task and calculate value of I= 100
    for (int i = 0; i < 100; i++) {
        Callable<String> childTask = new CallableChild(i);
        executorService.submit(childTask);
    }
    return null;
}

}

открытый класс CallableChild реализует Callable {

int inputValue;

public CallableChild(int inputValue) {
    this.inputValue = inputValue;
}

public String call() throws Exception {
    // Perform some task with inputValue
    return "SOMEVALUE";
}

}

...