Page 65 - 4657
P. 65

} }
                 Зверніть увагу на те, що цикл усередині методу run виглядає
            точно так само, як і в попередньому прикладі, тільки цього разу
            він  виконується  в  іншому  підпроцесі.  Підпроцес  main  за
            допомогою оператора new Thread(this, "Demo Thread") створює
            новий  об'єкт  класу  Thread,  причому  перший  параметр
            конструктора - this - указує, що нам хочеться викликати метод
            run  поточного  об'єкта.  Потім  ми  викликаємо  метод  start,  що
            запускає  підпроцес,  що  виконує  метод  run.  Після  цього
            основний підпроцес (main) переводиться в стан чекання на три
            секунди,  потім  виводить  повідомлення  і  завершує  роботу.
            Другий  підпроцес  -  “Demo  Thread”  -  при  цьому  як  і  раніше
            виконує  ітерації  в  циклі  методу  run  доти  поки  значення
            лічильника  циклу  не  зменшиться  до  нуля.  Нижче  показано,  як
            виглядає  результат  роботи  цієї  програми  цієї  програми  після
            того, як вона відробить 5 секунд.
            С:\> java ThreadDemo
            Thread created: Thread[Demo Thread,5,main]
            5
            4
            3
            exiting main thread
            2
            1
            exiting child thread
                  Пріоритети підпроцесів


                 Якщо  ви  хочете  домогтися  від  Java  передбачуваного
            незалежного  від  платформи  поводження,  вам  належить
            проектувати  свої  підпроцеси  таким  чином,  щоб  вони  по  своїй
            волі  звільняли  процесор.  Нижче  приведений  приклад  із  двома
            підпроцесами  з  різними  пріоритетами,  що  не  поводяться
            однаково на різних платформах. Пріоритет одного з підпроцесів
            за  допомогою  виклику  setPriority  установлюється  на  два  рівні
            вище  Thread.  NORM_PRIORITY,  тобто,  що  замовчується
            пріоритету.  В  іншого  підпроцесу  пріоритет,  навпаки,  на  два
                                                                             63
   60   61   62   63   64   65   66   67   68   69   70