package com.dy.common.util; @SuppressWarnings("unused") @Deprecated public abstract class ThreadJob { protected Thread thread ; protected boolean stop = false ; public void stop(){ this.stop = true ; } public boolean isStop(){ return this.stop ; } public Thread getThread(){ return this.thread ; } public void start(Callback callback) throws Exception { this.thread = new Thread(() -> { Exception[] exe = {null} ; Object[] obj = {null} ; try { obj[0] = execute() ; }catch(Exception e){ e.printStackTrace(); exe[0] = e ; }finally { if(callback != null){ if(exe[0] != null){ callback.exception(exe[0]); }else{ callback.call(obj[0]); } } } }); thread.start() ; } public abstract Object execute() throws Exception ; }