Executors e Futures
Imparare a gestire i thread usando Executors e a gestire i risultati con Futures.
Executors e Futures è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 1 di 2. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 2 lezioni in totale.
Introduzione
Gli Executor semplificano la gestione dei thread. I Future forniscono i risultati delle attività eseguite in modo asincrono.
ExecutorService
ExecutorService gestisce un pool di thread, così non è necessario crearli manualmente ogni volta.
Codice: invio di Runnable
Questo codice invia un Runnable a un ExecutorService con 2 thread.
import java.util.concurrent.*;public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Task executed"));
executor.shutdown();
}
}
Future
Future<T> rappresenta il risultato di un'attività asincrona. È possibile chiamare get() per attendere il risultato.
Codice: Callable e Future
Questo codice invia un Callable che restituisce un Integer. get() blocca l'esecuzione finché il risultato non è pronto.
import java.util.concurrent.*;public class Main {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> f = executor.submit(() -> 2 + 3);
System.out.println("Result: " + f.get());
executor.shutdown();
}
}
Timeout e arresto
È possibile usare get(timeout) per evitare di attendere indefinitamente. Si chiami sempre shutdown() su ExecutorService.
Verifica dei Future
Verifica rapida: che cosa rappresenta un Future in Java?
Riepilogo
Riepilogo: gli Executor gestiscono i thread. I Future rappresentano i risultati. Usi submit() per le attività, get() per i risultati e shutdown() al termine.
Domande Frequenti
La lezione «Executors e Futures» è gratuita?
Sì — il testo completo di «Executors e Futures» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 2 lezioni in totale.
Cosa imparerò in «Executors e Futures»?
Imparare a gestire i thread usando Executors e a gestire i risultati con Futures. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 2.
Quanto tempo richiede la lezione «Executors e Futures»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Executors e Futures
- Attività e cicli di vita