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
   227   228   229   230   231   232   233   234   235   236   237