zhubaomin
2025-04-07 1a2b07f01ba4616fd9e894dddf474b56d020158c
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ThreadJob.java
New file
@@ -0,0 +1,41 @@
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 ;
}