Продолжаем серию вопросов с собеседований
💡Какие есть способы создания и запуска потоков в 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()
💡Какие есть способы создания и запуска потоков в 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()