Операционные системы. Процессы и потоки. Илюшкин Б.И. - 45 стр.

UptoLike

Составители: 

программы. В Java используется достаточно простая модель син-
хронизации потоков. Организация связи и контекстное переключе-
ние потоков контролируется исполняющей системой Java. Унифи-
цированный многопоточный интерфейс поддерживается всеми вир-
туальными машинами Java. Многопоточность реализуется доста-
точно просто при разработке объектно-ориентированного приложе-
ния Java. Такое приложение состоит из набора объектов, взаимо-
действующих друг с другом. Каждый объект - независимый компо-
нент, который может выполняться потоком и запускаться парал-
лельно с другими объектами.
Когда Java приложение запускается на выполнение, то автома-
тически создается один поток, который называется главным (main
thread), так как является единственным потоком, выполняющимся
при запуске программы. Главный поток вызывает метод
main(),
обеспечивающий основную логику его выполнения. Метод
main()
является статическим, поскольку программа запускается только с од-
ним
main(). Для запуска новых потоков используется метод run(),
который реализует основную логику выполнения потока и объявляет-
ся как public void run().
Обеспечить реализацию метода
run() можно двумя способами: пу-
тем расширения класса
Thread и через интерфейс Runnable.
Класс
Thread скрывает механизм запуска и контроля выполне-
ния параллельного потока. Необходимо создать новый класс, кото-
рый расширяет класс
Thread ,а затем создать экземпляр этого клас-
са. В расширенном классе нужно заменить метод
run() класса
Thread, который является точкой входа для нового потока. Для за-
пуска потока нужно вызвать метод
start().
Интерфейс Runnable позволяет определить, что должен делать
класс. Объявленные в нем методы не имеют тела. Назначение интер-
фейса - обеспечить динамический выбор метода по ходу выполнения
45