Page 73 - 4657
P. 73
одержує керування об'єктом X, а іншої - об'єктом Y, після чого
Х намагається викликати будь-який синхронізований метод Y,
цей виклик, природно блокується. Якщо при цьому і Y спробує
викликати синхронізований метод X, то програма з такою
структурою підпроцесів виявиться заблокованої назавжди.
Справді, адже для того, щоб один з підпроцесів захопив
потрібний йому об'єкт, йому потрібно зняти своє блокування,
щоб другий підпроцес міг завершити роботу.
Зведення функцій програмного інтерфейсу легковагих
процесів
Нижче приведене зведення всіх методів класу Thread, що
обговорювалися в цій главі.
Методи класу
Методи класу - це статичні методи, які можна викликати
безпосередньо з ім'ям класу Thread.
currentThread
Статичний метод currentThread повертає об'єкт Thread, що
виконується в даний момент.
yield
Виклик методу yield приводить до того, що виконуюча
система переключає контекст із поточного на наступний
доступний підпроцес. Це один зі способів гарантувати, що
низькопріоритетні підпроцеси коли-небудь одержать керування.
sleep(int n)
При виклику методу sleep виконуюча система блокує
поточний підпроцес на n мілісекунд. Після того, як цей інтервал
часу закінчиться, підпроцес знову буде здатний виконуватися. У
більшості виконуючих систем Java системної годинник не
71