Класс Thread и интерфейс Runnable

Многопоточная система Java встроена в класс Thread, его методы и дополняющий его интерфейс Runnable. Thread инкапсулирует поток выполнения. Поскольку вы не можете напрямую обратиться к нематериальному состоянию работающего потока, вы имеете дело с его заместителем (proxy) — экземпляром класса Thread, который породил его. Чтобы создать новый поток, ваша программа должна либо расширить Thread, либо реализовать интерфейс Runnable.

Класс Thread определяет несколько методов, которые помогают управлять потоками. Некоторые из них, которые будут упомянуты в настоящей главе, перечислены в табл. 11.1.

Таблица 11.1. Методы управления потоками класса Thread

Метод Назначение
getName Получить имя потока.
getPriority Получить приоритет потока.
isAlive Определить, выполняется ли поток.
join Ожидать завершения потока.
run Входная точка потока.
sleep Приостановить выполнение потока на заданное время.
start Запустить поток вызовом его метода.

До сих пор все примеры в нашей книге использовали единственный поток управления. В остатке этой главы объясняется, как применять Thread и Runnable для создания и управления потоками, начиная с потока, который есть в каждой программе Java — главного.