Какие способы создать поток в Java?

Ответ

(1) Унаследоваться от Thread и переопределить run(). Не лучший способ — лимит одного наследования. (2) Реализовать Runnable и передать в Thread: new Thread(() -> {...}).start(). Запускать поток нужно через start(), а не run() — вызов run() напрямую исполнит код в текущем потоке.

Разбор: Поток создают наследованием от Thread с переопределением run(), реализацией Runnable (передав в Thread), а запускают всегда через start(), а не run() — вызов run() напрямую исполняет код в текущем потоке. Дистракторы эксплуатируют главную ловушку (start vs run), путают Runnable с Callable (у Callable метод call() и нет start()) и выдают несуществующие методы вроде setRunnable().

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться