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 9 public abstract class MonitorThread extends Thread { 10 11 protected EventDispatcher dispatcher; 12 protected int interval; 13 14 public MonitorThread ( EventDispatcher dispatcher, int interval, String 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 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 |