Sobes.tech
Junior — Middle

Použili ste rozhranie Callable na vykonávanie úloh v Jave?

sobes.tech AI

Odpoveď od AI

Áno, rozhranie Callable v Jave sa používa na vykonávanie úloh, ktoré vracajú výsledok a môžu vyvolať výnimky. Na rozdiel od Runnable umožňuje Callable získať výsledok vykonávania prostredníctvom Future.

Príklad použitia Callable:

import java.util.concurrent.*;

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

        Callable<Integer> task = () -> {
            // Nejaký výpočtový úloha
            Thread.sleep(1000);
            return 123;
        };

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

        System.out.println("Úloha spustená");

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

        executor.shutdown();
    }
}

Tento prístup je vhodný na asynchrónne vykonávanie úloh s možnosťou získať výsledky a spracovať výnimky.