- Создать потомка класса
Thread
и переопределить его метод run()
;
- Создать объект класса
Thread
, передав ему в конструкторе экземпляр класса, реализующего интерфейс Runnable
. Эти интерфейс содержит метод run()
, который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run()
.
- Вызвать метод
submit()
у экземпляра класса реализующего интерфейс ExecutorService
, передав ему в качестве параметра экземпляр класса реализующего интерфейс Runnable
или Callable
(содержит метод call()
, в котором описывается логика выполнения).