Java -практика использования

         

Реализация интерфейса Runnabie



Листинг 17.3. Реализация интерфейса Runnabie

class TwoThreadsS implements Runnabie{

private String msg; 

TwoThreads3(String s){ msg = s; } 

public void run(){

forfint i = 0; i < 20; i++){ 

try{

Thread.sleep(100);
 

}catch(InterruptedException ie){} 

System.out.print(msg + " ");
 

}

System.out.println("End of thread.");
 

public static void main (String[] args){

new Thread(new TwoThreads3("HIP"), "Thread 1").start ();
 

new Thread(new TwoThreads3("hop"), "Thread 2").start ();
 

System.out.println();
 

}

Чаще всего в новом подпроцессе задаются бесконечные действия, выполняющиеся на фоне основных действий: проигрывается музыка, на экране вращается анимированный логотип фирмы, бежит рекламная строка. Для реализации такого подпроцесса в методе run о задается бесконечный цикл, останавливаемый после того, как объект-подпроцесс получит значение null.

В листинге 17.4 показан четвертый вариант той же самой программы, в которой метод runt) выполняется до тех пор, пока текущий объект-подпроцесс th совпадает с объектом до, запустившим текущий подпроцесс. Для прекращения его выполнения предусмотрен метод stop (), к которому обращается главный подпроцесс. Это стандартная конструкция, рекомендуемая документацией J2SDK. Главный подпроцесс в данном примере только создает объекты-подпроцессы, ждет одну секунду и останавливает их.



Содержание раздела