Как уже отмечалось, Java – первая платформа для разработки программ, в которой многопоточность поддержана на уровне языка и базовых библиотек. Потоки в Java могут быть созданы следующими способами:
Как расширения класса Thread Как классы, реализующие интерфейс Runnable, который содержит единственный метод run– исполняемое тело потока. Потоки в Java управляются JVM. Возможно создание групп потоков и иерархии таких групп.
Возможные состояния потоков в Java изображены на рис. 10.7. Подобно потокам в ОС, поток в Java создается и находится в состоянии новый, затем – выполняемый; при вызове методов типа wait, sleepи др. поток переходит в состояние ожидания; при завершении метода runпоток завершается.
Рис. 10.7. Состояния потоков в Java.