From 7fcb0d7987adec6fda8d41fb548382356fa8bb46 Mon Sep 17 00:00:00 2001 From: Em3rs0n Date: Sat, 24 Nov 2018 03:58:05 -0500 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DparallelForEach=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh0u1l5/wechatmagician/spellbook/util/ParallelUtil.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/com/gh0u1l5/wechatmagician/spellbook/util/ParallelUtil.kt b/src/main/kotlin/com/gh0u1l5/wechatmagician/spellbook/util/ParallelUtil.kt index 404df7c..1161792 100644 --- a/src/main/kotlin/com/gh0u1l5/wechatmagician/spellbook/util/ParallelUtil.kt +++ b/src/main/kotlin/com/gh0u1l5/wechatmagician/spellbook/util/ParallelUtil.kt @@ -1,6 +1,8 @@ package com.gh0u1l5.wechatmagician.spellbook.util +import com.gh0u1l5.wechatmagician.spellbook.util.BasicUtil.tryVerbosely import java.util.concurrent.Executors +import java.util.concurrent.TimeUnit import kotlin.concurrent.thread /** @@ -51,7 +53,11 @@ object ParallelUtil { val iterator = iterator() while (iterator.hasNext()) { val item = iterator.next() - pool.execute { action(item) } + pool.execute { + tryVerbosely { action(item) } // 避免进程崩溃 + } } + pool.shutdown() + pool.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS) } } \ No newline at end of file