Как создать и запустить поток в Java?

Junior
424 просмотров
AFK Offer AI

Два классических способа: extends Thread и переопределить run(), или implements Runnable и передать в new Thread(runnable). Runnable лучше — не занимаешь наследование, можно использовать с пулами потоков. С Java 8 — лямбда: new Thread(() -> doWork()).start(). start() создаёт новый OS-поток и вызывает run(). Если вызвать run() напрямую — выполнится в текущем потоке. На практике напрямую Thread создают редко — используют ExecutorService для управления пулом.

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

Что такое generics в Java и зачем они нужны?