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.