В чем заключается разница между методами start() и run() в Java?

start():

Короткий ответ

Что ответить на собеседовании

start():

Подробный разбор

Ответ с пояснениями

  • start():

    • Запускает новый поток выполнения.
    • Вызывает метод run() в этом новом потоке.
    • Операционная система управляет планированием и выполнением потока.
  • run():

    • Содержит код, который выполнится в теле потока.
    • Если вызвать напрямую (например, thread.run()), выполнится как обычный метод в текущем потоке.
Метод Выполнение Создание потока
start() В новом потоке, созданном JVM Да
run() В текущем потоке, как обычный метод Нет

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее