Page 233 - 6571
P. 233
У інтерфейсі Runnable визначено тільки один метод pub
ic void run(), який вимагає реалізації. Коли створюється
клас, що імплементує інтерфейс Runnable, він повинен реалізу-
вати метод run(). Саме в цьому методі міститься код, який ви-
конує фактичну роботу, покладену на конкретний потік.
Створити потік можна за допомогою одного із наступних
конструкторів:
1) public Thread() – створюється новий потік, який бу-
де запускати потоки за допомогою виклику методу run()
поточного об'єкту класу Thread;
2) public Thread(String name) – даний конструктор
аналогічний попередньому, але створює новий потік із за-
даним ім’ям name;
3) public Thread(Runnable target) – даний конс-
труктор створює новий потік, де в target вказується ек-
земпляр класу, який реалізує інтерфейс Runnable. Він бу-
де визначати де почнеться виконання потоку (буде викли-
катися метод run() вказаного цільового об'єкту);
4) public Thread(Runnable target, String na
e) – конструктор аналогічний попередньому, але задає ім’я
нового потоку через name;
5) public Thread(ThreadGroup group, String
name) – даний конструктор призначений для переміщення
нового об'єкту Thread в дерево об'єктів даного класу. Як-
що опустити даний параметр або привласнити йому зна-
чення null, новий об'єкт класу Thread стане членом по-
точної групи потоків ThreadGroup.
Наступні методи дозволяють отримати ім’я потоку або вста-
новити його:
1) public final String getName() – дозволяє отри-
мати ім’я потоку;
2) public final synchronized void setNam-
e(String name) – дозволяє задати ім’я потоку.
Коли потік створено, то для його запуску необхідно із об’єкта
цільового потоку викликати метод public synchronized
void start(). Даний метод може генерувати виняток, якщо
робиться спроба запуску вже запущеного потоку.
232