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 ;
|
}
|