浏览代码

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