ソースを参照

添加 awaitTermination

James 3 年 前
コミット
60a232776a
1 ファイル変更8 行追加0 行削除
  1. 8 0
      src/main/java/com/jfinal/kit/ThreadPoolKit.java

+ 8 - 0
src/main/java/com/jfinal/kit/ThreadPoolKit.java

@@ -20,6 +20,7 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 import com.jfinal.log.Log;
 
 /**
@@ -206,6 +207,13 @@ public class ThreadPoolKit {
 			executor.shutdownNow();
 		}
 	}
+
+	/**
+	 * 在 shutdown 线程池之后,阻塞等待所有任务执行完,或发生超时,或当前线程中断,以先发生者为准
+	 */
+	public static boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
+		return executor == null || executor.awaitTermination(timeout, unit);
+	}
 }