设计线程监控代码结构

来源:互联网 发布:php curl get 传参数 编辑:程序博客网 时间:2024/06/05 10:11

线程监控:

/** * 线程状态的监控 * @author dell * */public class Test5 extends RunnableWrapper {@Overridepublic void handler() {System.out.println("xxxxxx");}public static void main(String[] args) {Thread t = new Thread(new Test5());t.start();}}interface ThreadListner {public Object threadStart(Object[] args);public Object threadRunning(Object[] args);public Object threadFinish(Object[] args);public Object threadException(Object[] args);}abstract class RunnableWrapper implements Runnable {private ThreadListner threadListener = null;private static ThreadListner DEFAULT_THREADLISTENER = new ThreadListner() {private String name = Thread.currentThread().getName();@Overridepublic Object threadStart(Object[] args) {System.out.println(name + " start...");return null;}@Overridepublic Object threadRunning(Object[] args) {System.out.println(name + " running...");return null;}@Overridepublic Object threadFinish(Object[] args) {System.out.println(name + " finish...");return null;}@Overridepublic Object threadException(Object[] args) {System.out.println(name + " exception...");return null;}};public RunnableWrapper(ThreadListner threadListener) {this.threadListener = threadListener;}public RunnableWrapper() {this(DEFAULT_THREADLISTENER);}@Overridepublic void run() {try {threadListener.threadStart(null);handler();threadListener.threadFinish(null);} catch (Exception e) {threadListener.threadException(null);}}abstract public void handler();}


0 0
原创粉丝点击