Продолжаем серию вопросов с собеседований



💡Какие есть способы создания и запуска потоков в Java?



С помощью класса, реализующего Runnable



1. Создать объект класса, реализующего интерфейс Runnable

2. Создать объект класса Thread с передачей созданного объекта Runnable в конструктор

3. Вызвать у созданного объекта Thread метод start() (после этого запустится метод run() у переданного объекта, реализующего Runnable)



С помощью класса, расширяющего Thread



1. Создать объект класса ClassName extends Thread.

2. Переопределить run() в этом классе

3. Вызвать у созданного объекта Thread метод start() (после этого запустится метод переопределенный run())



С помощью класса, реализующего java.util.concurrent.Callable



1. Создать объект класса, реализующего интерфейс Callable

2. Создать объект ExecutorService с указанием пула потоков.

3. Передать объект Callable в качестве аргумента для метода ExecutorService#submit()