KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > javacoding > jspider > core > threading > MonitorThread


1 package net.javacoding.jspider.core.threading;
2
3 import net.javacoding.jspider.api.event.monitor.MonitorEvent;
4 import net.javacoding.jspider.core.dispatch.EventDispatcher;
5
6 /**
7  * $Id: MonitorThread.java,v 1.3 2003/02/27 16:47:48 vanrogu Exp $
8  */

9 public abstract class MonitorThread extends Thread JavaDoc {
10
11     protected EventDispatcher dispatcher;
12     protected int interval;
13
14     public MonitorThread ( EventDispatcher dispatcher, int interval, String JavaDoc subject ) {
15         super ( subject + " monitor" );
16         setDaemon(true);
17         this.dispatcher = dispatcher;
18         this.interval = interval;
19     }
20
21     public void run ( ) {
22         MonitorEvent event = null;
23         while ( true ) {
24             try {
25                 Thread.sleep(interval);
26             } catch (InterruptedException JavaDoc e) {
27                 Thread.currentThread().interrupt();
28             }
29             event = doMonitorTask ( );
30             dispatcher.dispatch(event);
31         }
32     }
33
34     public abstract MonitorEvent doMonitorTask ( );
35
36 }
37
Popular Tags