Sobes.tech
Junior — Middle

Použil jsi rozhraní Callable pro vykonávání úkolů v Java?

sobes.tech AI

Odpověď od AI

Ano, rozhraní Callable v jazyce Java se používá k vykonávání úloh, které vracejí výsledek a mohou vyvolat výjimky. Na rozdíl od Runnable umožňuje Callable získat výsledek provádění přes Future.

Příklad použití Callable:

import java.util.concurrent.*;

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

        Callable<Integer> task = () -> {
            // Nějaký výpočetní úkol
            Thread.sleep(1000);
            return 123;
        };

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

        System.out.println("Úkol spuštěn");

        Integer result = future.get(); // Čekáme na výsledek
        System.out.println("Výsledek: " + result);

        executor.shutdown();
    }
}

Tento přístup je vhodný pro asynchronní provádění úloh s možností získat výsledky a zpracovat výjimky.