Junior — Middle
Използвали ли сте интерфейса Callable за изпълнение на задачи в Java?
sobes.tech AI
Отговор от AI
Да, интерфейсът Callable в Java се използва за изпълнение на задачи, които връщат резултат и могат да хвърлят изключения. За разлика от Runnable, Callable позволява да се получи резултатът от изпълнението чрез Future.
Пример за използване на Callable:
import java.util.concurrent.*;
public class CallableExample {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Някаква изчислителна задача
Thread.sleep(1000);
return 123;
};
Future<Integer> future = executor.submit(task);
System.out.println("Задачата е стартирана");
Integer result = future.get(); // Изчакваме резултата
System.out.println("Резултат: " + result);
executor.shutdown();
}
}
Този подход е полезен за асинхронно изпълнение на задачи с възможност за получаване на резултати и обработка на изключения.