Встречается на собеседованиях • сегодня
В чем разница между запуском 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()` требует управления жизненным циклом потока (ожидание, прерывание)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы