Page 66 - 4657
P. 66
рівні нижче. Обоє цих підпроцесу запускаються і працюють
протягом 10 секунд. Кожний з них виконує цикл, у якому
збільшується значення перемінного лічильника. Через десять
секунд після їхнього запуску основний підпроцес зупиняє їхню
роботу, привласнюючи умові завершення циклу while значення
true і виводить значення лічильників, що показують, скільки
ітерацій циклу встиг виконати кожний з підпроцесів.
class Clicker implements Runnable {
int click = 0;
private Thread t;
private boolean running = true;
public clicker(int p) {
t = new Thread(this);
t.setPriority(p);
}
public void run() {
while (running) {
click++;
} }
public void stop() {
running = false; }
public void start() {
t.start();
} }
class HiLoPri {
public static void main(String args[]) {
Thread.currentThread().setPriority(Thread.MAX_PRIO
RITY);
clicker hi = new clicker(Thread.NORM_PRIORITY +
2);
clicker lo = new clicker(Thread.NORM_PRIORITY -
2);
lo.start();
hi.start();
try Thread.sleep(-10000) {
}
catch (Exception e) {
}
lo.stop();
64