|  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | @SuppressWarnings("unused") | 
 |  |  | @Deprecated | 
 |  |  | public abstract class ThreadJob { | 
 |  |  |     public void start(Callback callback){ | 
 |  |  |         new Thread(() -> { | 
 |  |  |     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 { | 
 |  |  | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }).start(); | 
 |  |  |         }); | 
 |  |  |         thread.start() ; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public abstract Object execute() throws Exception ; | 
 |  |  | } | 
 |  |  |  |