From 81a2672a654ca069fb5e748af7b174cace61f40b Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Sat, 15 Feb 2025 15:28:00 +0800 Subject: [PATCH] =?UTF-8?q?imp:=20=E6=94=B9=E8=BF=9B=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/jiashi/service/UpdateService.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/jiashi/service/UpdateService.java b/src/main/java/com/jiashi/service/UpdateService.java index d9e8dbe..b2ef969 100644 --- a/src/main/java/com/jiashi/service/UpdateService.java +++ b/src/main/java/com/jiashi/service/UpdateService.java @@ -90,7 +90,8 @@ public class UpdateService { LinkedBlockingDeque workQueue = new LinkedBlockingDeque<>(); ThreadFactory threadFactory = Executors.defaultThreadFactory(); ThreadPoolExecutor.CallerRunsPolicy handler = new ThreadPoolExecutor.CallerRunsPolicy(); - ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize, + ExecutorService patientExecutors = Executors.newFixedThreadPool(corePoolSize); + ThreadPoolExecutor fileExecutor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, @@ -106,7 +107,7 @@ public class UpdateService { String picDir = syncDir + File.separator + cardInfo.getId(); FilePathUtil.mkdirs(picDir); - Future patientFuture = executor.submit(() -> { + Future patientFuture = patientExecutors.submit(() -> { try { List pictures = dataQuery.getPictures(cardInfo.getId()); if (CollectionUtils.isEmpty(pictures)) { @@ -125,7 +126,7 @@ public class UpdateService { dataQuery.updatePicPath(cardInfo, lianZhongDir); List fileFutures = new ArrayList<>(); for (Picture picture : pictures) { - Future fileFuture = executor.submit(() -> { + Future fileFuture = fileExecutor.submit(() -> { String tifFilePath = lianZhongDir + File.separator + removeFileExtension(picture.getPicname()) + ".tif"; File tifFile = new File(tifFilePath); if (tifFile.exists()) { @@ -258,7 +259,8 @@ public class UpdateService { } catch (Exception ex) { log.error("联众同步数据异常:" + ex.getMessage(), ex); } finally { - executor.shutdown(); + patientExecutors.shutdown(); + fileExecutor.shutdown(); } }