From 0bf868d3cdf9226e178c076d3b588ed5207409a0 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期五, 24 十一月 2023 17:51:40 +0800
Subject: [PATCH] merge

---
 assess-common/src/main/java/com/gkhy/assess/common/utils/Threads.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/assess-common/src/main/java/com/gkhy/assess/common/utils/Threads.java b/assess-common/src/main/java/com/gkhy/assess/common/utils/Threads.java
new file mode 100644
index 0000000..cf9682d
--- /dev/null
+++ b/assess-common/src/main/java/com/gkhy/assess/common/utils/Threads.java
@@ -0,0 +1,34 @@
+package com.gkhy.assess.common.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.CancellationException;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
+/**
+ * 线程相关工具类
+ */
+public class Threads {
+    private static final Logger logger = LoggerFactory.getLogger(Threads.class);
+    public static void printException(Runnable r,Throwable t){
+        if(t==null && r instanceof Future<?>){
+            try {
+                Future<?> future= (Future<?>) r;
+                if(future.isDone()) {
+                    future.get();
+                }
+            } catch (CancellationException e){
+                t=e;
+            } catch (ExecutionException e) {
+                t=e.getCause();
+            }catch (InterruptedException e) {
+                Thread.currentThread().interrupt();
+            }
+        }
+        if(t!=null){
+            logger.error(t.getMessage(),t);
+        }
+    }
+}

--
Gitblit v1.9.2