Способы создания потоков
Сначала разберём по словам, что вообще значит строка создания — это общий шаблон для любого объекта, не только потока:
Threadтип —что за объект
tимя переменной(как назвал)
=положитьв переменную
new Thread(…)создатьновый объект
Шаблон всегда один: Тип имя = new Тип(…). Слева — какого типа «коробка» и как её зовут, справа — new создаёт сам объект.
Thread t = new Thread(() -> { // () -> { … } — что поток будет делать
System.out.println("работаю в отдельном потоке");
});
t.start(); // запускает НОВЫЙ поток (не run() — тот выполнит в текущем!)
Второй способ — унаследоваться от Thread и переопределить run():
class MyThread extends Thread {
public void run() {
System.out.println("работаю в отдельном потоке");
}
}
new MyThread().start();
Способ через Runnable/лямбду предпочтительнее: класс не занят наследованием Thread и может наследоваться от чего-то другого.
🎤 Закрыл тему, если можешь объяснить:
• два способа создать и запустить поток;
• почему `start()`, а не `run()`, запускает новый поток.
• почему `start()`, а не `run()`, запускает новый поток.