Page 63 - 4657
P. 63
} }
У цьому прикладі поточний підпроцес зберігається в
локальної перемінний t. Потім ми використовуємо цю перемінну
для виклику методу setName, що змінює внутрішнє ім'я
підпроцеса на “My Thread”, для того, щоб висновок програми
був зручнозчитаним. На наступному кроці ми входимо в цикл, у
якому ведеться зворотний відлік від 5, причому на кожній
ітерації за допомогою виклику методу Thread.sleep() робиться
пауза тривалістю в 1 секунду. Аргументом для цього методу є
значення тимчасового інтервалу в мілісекундах, хоча системних
годинник на багатьох платформах не дозволяють точно
витримувати інтервали коротше 10 мілісекунд. Зверніть увагу -
цикл укладений у try/catch блок. Справа в тім, що метод
Thread.sleep() може збуджувати виключення
InterruptedException. Це виключення збуджується в тому
випадку, якщо якому-небудь іншому підпроцесу знадобиться
перервати даний підпроцес. У даному прикладі ми в такій
ситуації просто виводимо повідомлення про перехоплення
виключення. Нижче приведений висновок цієї програми:
С:\> java CurrentThreadDemo
current thread: Thread[My Thread,5,main]
5
4
3
2
1
Зверніть увагу на те, що в текстовому представленні об'єкта
Thread міститься задане нами ім'я легковагого процесу - My
Thread. Число 5 - це пріоритет підпроцеса, воно відповідає
пріоритету за замовчуванням, “main” - ім'я групи підпроцесів, до
якої належить даний підпроцес.
61