Sobes.tech
Junior — Middle

Hai utilizzato l'interfaccia Callable per eseguire compiti in Java?

sobes.tech AI

Risposta dell'AI

Sì, l'interfaccia Callable in Java viene utilizzata per eseguire compiti che restituiscono un risultato e possono generare eccezioni. A differenza di Runnable, Callable consente di ottenere il risultato dell'esecuzione tramite Future.

Esempio di utilizzo di Callable:

import java.util.concurrent.*;

public class CallableExample {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

        Callable<Integer> task = () -> {
            // Un compito computazionale
            Thread.sleep(1000);
            return 123;
        };

        Future<Integer> future = executor.submit(task);

        System.out.println("Compito avviato");

        Integer result = future.get(); // Aspettiamo il risultato
        System.out.println("Risultato: " + result);

        executor.shutdown();
    }
}

Questo approccio è utile per eseguire compiti in modo asincrono con la possibilità di ottenere risultati e gestire eccezioni.