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

В чем разница между Thread и Runnable

Thread - это класс, представляющий поток выполнения, а Runnable - интерфейс, который определяет задачу для выполнения в потоке.

Ключевые различия:

  1. Наследование: Thread нельзя наследовать, если уже наследуешь другой класс (Java не поддерживает множественное наследование). Runnable - интерфейс, его можно реализовать в любом классе.
  2. Переиспользование: Runnable можно передать в несколько Thread, а Thread инкапсулирует задачу и поток вместе.
  3. Гибкость: Runnable лучше подходит для разделения задачи и управления потоками.

Пример:

java
// Через Runnable
Runnable task = () -> System.out.println("Running");
new Thread(task).start();

// Через Thread
class MyThread extends Thread {
    public void run() {
        System.out.println("Running");
    }
}
new MyThread().start();

Предпочтительнее использовать Runnable из-за гибкости и лучшей архитектуры.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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