Класс 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 — главного.