Browse Source

优化多线程创建方案

车车 8 months ago
parent
commit
d290a999e0

+ 5 - 1
ktg-iscs/src/main/java/com/ktg/iscs/config/FingerprintComparisonByImg.java

@@ -42,7 +42,11 @@ public class FingerprintComparisonByImg {
         // 转成list
         List<String> matcherImgList = new ArrayList<>(matcherImg);
         // 切分四等份
-        List<List<String>> averageMatcherImgList = Lists.partition(matcherImgList, matcherImgList.size() / 4);
+        int denominator = 1;
+        if (matcherImgList.size() >= 4) {
+            denominator = 4;
+        }
+        List<List<String>> averageMatcherImgList = Lists.partition(matcherImgList, matcherImgList.size() / denominator);
         // 构建四个线程进行处理,防止人员过多对比速度太慢
         CompletableFuture<VerificationVO>[] completableFutureArray = averageMatcherImgList.stream().map(
                 partitionFingerprint -> CompletableFuture.supplyAsync(