Sobes.tech
Junior — Middle

Czy używałeś interfejsu Callable do wykonywania zadań w Java?

sobes.tech AI

Odpowiedź od AI

Tak, interfejs Callable w Javie jest używany do wykonywania zadań, które zwracają wynik i mogą rzucać wyjątki. W przeciwieństwie do Runnable, Callable pozwala na uzyskanie wyniku wykonania za pomocą Future.

Przykład użycia Callable:

import java.util.concurrent.*;

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

        Callable<Integer> task = () -> {
            // Jakieś zadanie obliczeniowe
            Thread.sleep(1000);
            return 123;
        };

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

        System.out.println("Zadanie uruchomione");

        Integer result = future.get(); // Czekamy na wynik
        System.out.println("Wynik: " + result);

        executor.shutdown();
    }
}

Takie podejście jest przydatne do asynchronicznego wykonywania zadań z możliwością uzyskania wyników i obsługi wyjątków.