Встречается на собеседованиях • сегодня

В чем разница между запуском Thread через run и start

Вызов run() выполнит метод в текущем потоке, как обычный вызов метода, без создания нового потока.
Вызов start() создаст новый поток, который асинхронно выполнит метод run().

Пример:

java
Thread thread = new Thread(() -> System.out.println("Running in " + Thread.currentThread().getName()));

thread.run(); // Выведет "Running in main" (текущий поток)
thread.start(); // Выведет "Running in Thread-0" (новый поток)

text

Ключевые отличия:
- `start()` запускает новый поток через JVM/ОС, `run()` — просто вызов метода
- `start()` можно вызвать только один раз для потока, `run()` — сколько угодно
- `start()` требует управления жизненным циклом потока (ожидание, прерывание)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы