Page 232 - 6571
P. 232
Метод public String toString() повертає рядкове
представлення потоку, включаючи ім’я потоку, його пріоритет та
ім’я групи.
Багатопотокова модель Java побудована на основі класу
Thread, його методів та інтерфейсу Runnable, що реалізує
клас Thread. Клас Thread інкапсулює в собі потік виконання.
Оскільки, не можливо напряму звернутися до нематеріального
стану виконуваного потоку, то робота із потоком відбувається
через його заступника (proxy), тобто екземпляр класу Thread,
який його породив. Cтворити новий потік у програмі написаній
на мові Java можна двома способами:
1) розшири (наслідувати) клас Thread;
2) реалізувати інтерфейс Runnable.
При першому способі необхідно оголосити новий клас, який
розширює клас Thread оголошений упакеті java.lang,
наприклад:
public class MyThread1 extends Thread {
public void run() {
// TODO: Код, який має бути виконаний
в новому потоці
}
}
При цьому стають доступними всі методи даного класу. Но-
вий клас, який розширює клас Thread, повинен перевизначити
метод метод run(), який є вхідною точкою для нового потоку.
Зазвичай, коли необхідно, щоб даний клас був розширенням
деякого іншого класу і в ньому необхідно реалізувати потоки,
попередній підхід не не найкраще рішення для створення потоку,
оскільки, в мові Java немає підтримки множинного наслідування.
Для вирішення цієї проблеми для даного класу потрібно реалізу-
вати інтерфейс Runnable, наприклад:
public class MyThread2 implements Runnable {
public void run() {
// TODO: Код, який має бути виконаний
в новому потоці
}
}
231