Какой тип возвращает метод run() интерфейса Runnable в Java?

«Какой тип возвращает метод run() интерфейса Runnable в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод run() интерфейса Runnable имеет возвращаемый тип void и не возвращает никакого значения.

Почему так? Runnable предназначен для инкапсуляции кода, который должен выполняться в потоке, без необходимости возврата результата. Если требуется возвращать результат или выбрасывать проверяемые исключения, следует использовать интерфейс Callable<V>.

Пример использования:

Runnable task = () -> {
    System.out.println("Выполняется в потоке: " + Thread.currentThread().getName());
};
new Thread(task).start();

Ключевой момент: Запуск Runnable через Thread.start() приводит к асинхронному выполнению метода run() в новом потоке, а прямой вызов run() выполнит код синхронно в текущем потоке.