From 7f4e49ada904b96e663659469125a738449f7753 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 07 Jul 2025 11:01:14 +0800
Subject: [PATCH] 数据验证
---
src/main/java/com/nq/utils/task/stock/StockTask.java | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/nq/utils/task/stock/StockTask.java b/src/main/java/com/nq/utils/task/stock/StockTask.java
index 635286c..6e97651 100644
--- a/src/main/java/com/nq/utils/task/stock/StockTask.java
+++ b/src/main/java/com/nq/utils/task/stock/StockTask.java
@@ -25,6 +25,9 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -67,10 +70,27 @@
return;
}
if (syncINStockDataLock.tryLock()) {
+ ExecutorService executor = Executors.newFixedThreadPool(2);
+ Future<?> usFuture = null;
+ Future<?> mxFuture = null;
try {
syncINStockData.set(true); // 设置处理中标识为true
- loadAllStock(EStockType.IN);
+
+ // 并行执行US和MX的股票数据加载
+ usFuture = executor.submit(() -> loadAllStock(EStockType.US));
+ mxFuture = executor.submit(() -> loadAllStock(EStockType.MX));
+
+ // 等待两个任务都完成
+ usFuture.get();
+ mxFuture.get();
+ } catch (Exception e) {
+ Thread.currentThread().interrupt();
+ log.error("同步股票数据出错", e);
} finally {
+ // 关闭线程池
+ if (executor != null) {
+ executor.shutdown();
+ }
syncINStockDataLock.unlock();
syncINStockData.set(false); // 设置处理中标识为false
}
--
Gitblit v1.9.3