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.