Junior — Middle
64
Можешь привести пример ситуации, когда приходилось заниматься организацией последовательных или параллельных процессов в проекте?
Companies where asked
Технодиасофт
Answer from AI
sobes.tech AI
В одном из проектов на Java мне нужно было организовать последовательное выполнение нескольких задач, где результат одной задачи влиял на следующую. Для этого я использовал цепочку CompletableFuture, чтобы асинхронно выполнять операции, но при этом гарантировать порядок.
Пример:
CompletableFuture.supplyAsync(() -> fetchData())
.thenApply(data -> processData(data))
.thenAccept(result -> saveResult(result));
Также в другом случае нужно было запускать несколько независимых задач параллельно и дождаться их завершения. Для этого я использовал ExecutorService с пулом потоков и метод invokeAll:
ExecutorService executor = Executors.newFixedThreadPool(3);
List<Callable<String>> tasks = Arrays.asList(task1, task2, task3);
List<Future<String>> results = executor.invokeAll(tasks);
// обработка результатов
executor.shutdown();
Такой подход позволял эффективно управлять параллелизмом и контролировать последовательность выполнения там, где это было необходимо.