From d1d30f5e0baa27b5f432b5432713351d73adccf7 Mon Sep 17 00:00:00 2001 From: orange <571252911@qq.com> Date: Fri, 28 Dec 2018 10:33:57 +0800 Subject: [PATCH] fix manager thread block logic --- src/pers/cz/chaoxing/thread/manager/ManagerModel.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pers/cz/chaoxing/thread/manager/ManagerModel.java b/src/pers/cz/chaoxing/thread/manager/ManagerModel.java index f736e68..b9eae32 100644 --- a/src/pers/cz/chaoxing/thread/manager/ManagerModel.java +++ b/src/pers/cz/chaoxing/thread/manager/ManagerModel.java @@ -37,7 +37,7 @@ public abstract class ManagerModel implements PauseCallBack, Runnable, Closeable @Override public final void run() { - if (this.threadPoolSize > 0) + if (this.threadPoolSize > 0) { try { doJob(); } catch (RequestsException e) { @@ -48,6 +48,14 @@ public final void run() { threadPool.shutdownNow(); } catch (Exception ignored) { } + LongStream.range(0, threadPool.getTaskCount()).mapToObj(i -> { + try { + return completionService.take().get(); + } catch (Exception e) { + return false; + } + }); + } } @Override