Назад к вопросам
Middle
10
С помощью submit можно запускать только Runnable или Callable тоже можно?
Компании, где спрашивали
Позитив Технолоджис
Ответ от нейросети
sobes.tech AI
Метод submit из ExecutorService в Java может принимать как Runnable, так и Callable.
- Если передать
Runnable, то метод возвращаетFuture<?>, который можно использовать для отслеживания завершения задачи, но результат будетnull. - Если передать
Callable<V>, тоsubmitвозвращаетFuture<V>, гдеV— тип результата, возвращаемого задачей.
Пример:
ExecutorService executor = Executors.newFixedThreadPool(2);
// Runnable
Future<?> future1 = executor.submit(() -> System.out.println("Runnable task"));
// Callable
Future<Integer> future2 = executor.submit(() -> {
Thread.sleep(1000);
return 42;
});
Integer result = future2.get(); // result будет 42
executor.shutdown();