Framework Executor zarządza pulami wątków, dzięki czemu przesyłasz zadania zamiast ręcznie tworzyć wątki, a CompletableFuture komponuje operacje asynchroniczne w sposób deklaratywny. Razem stanowią nowoczesny sposób na pracę z równoczesnością/asynchronią w Javie — unikając kosztów i złożoności surowego zarządzania wątkami.
Problem z surowymi wątkami
(Task t : tasks) {
(() -> process(t)).start();
}
