Sobes.tech
Junior — Middle

Ar naudojote „Callable“ sąsają Java užduotims vykdyti?

sobes.tech AI

Atsakymas iš AI

Taip, Java Callable sąsaja naudojama užduotims vykdyti, kurios grąžina rezultatą ir gali išmesti išimtis. Skirtingai nuo Runnable, Callable leidžia gauti vykdymo rezultatą per Future.

Callable naudojimo pavyzdys:

import java.util.concurrent.*;

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

        Callable<Integer> task = () -> {
            // Tam tikras skaičiavimų užduotis
            Thread.sleep(1000);
            return 123;
        };

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

        System.out.println("Užduotis pradėta");

        Integer result = future.get(); // Laukiame rezultato
        System.out.println("Rezultatas: " + result);

        executor.shutdown();
    }
}

Šis požiūris yra naudingas asinchroniniam užduočių vykdymui su galimybe gauti rezultatus ir tvarkyti išimtis.