Sobes.tech
Назад к вопросам
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();