Page 64 - 4657
P. 64

Runnable

           Не дуже цікаво працювати тільки з одним підпроцесом, а як
       можна  створити  ще  один?  Для  цього  нам  знадобиться  інший
       екземпляр  класу  Thread.  При  створенні  нового  об'єкта  Thread
       йому  потрібно  вказати,  який  програмний  код  він  повинний
       виконувати. Ви можете запустити підпроцес за допомогою будь-
       якого  об'єкта,  що  реалізує  інтерфейс  Runnable.  Для  того,  щоб
       реалізувати  цей  інтерфейс,  клас  повинний  надати  визначення
       методу  run.  Нижче  приведений  приклад,  у  якому  створюється
       новий підпроцес.
       class ThreadDemo implements Runnable {
       ThreadDemo() {
       Thread ct = Thread.currentThread();
       System.out.println("currentThread: " + ct);
       Thread t = new Thread(this, "Demo Thread");
       System.out.println("Thread created: " + t);
       t.start();
       try {
       Thread.sleep(3000);
       }
       catch (InterruptedException e) {
       System.out.println("interrupted");
       }
       System.out.println("exiting main thread");
       }
       public void run() {
       try {
       for (int i = 5; i > 0; i--) {
       System.out.println("" + i);
       Thread.sleep(1000);
       } }
       catch (InterruptedException e) {
       System.out.println("child interrupted");
       }
       System.out.println("exiting child thread");
       }
       public static void main(String args[]) {
       new ThreadDemo();
       62
   59   60   61   62   63   64   65   66   67   68   69