From 14de918a79943e4961b09fa01ed320c6cad41f2e Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 28 六月 2023 17:14:51 +0800
Subject: [PATCH] Revert "Revert "Merge branch 'hxb' into wjc""

---
 HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java
new file mode 100644
index 0000000..5110598
--- /dev/null
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java
@@ -0,0 +1,72 @@
+package com.hdl.sdk.link.common.utils;
+
+import android.os.Handler;
+import android.os.Looper;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+
+/**
+ * Created by Tong on 2021/9/15.
+ */
+public class ThreadToolUtils {
+
+    private final Handler uiHandler = new Handler(Looper.getMainLooper());
+
+    //cpu 鏈�澶х嚎绋嬪绾抽噺
+    private final int coreSize = Runtime.getRuntime().availableProcessors() + 1;
+
+    private ThreadToolUtils() {
+    }
+
+    private static class SingletonInstance {
+        private static final ThreadToolUtils INSTANCE = new ThreadToolUtils();
+    }
+
+    public static ThreadToolUtils getInstance() {
+        return SingletonInstance.INSTANCE;
+    }
+
+
+    /**
+     * 绾跨▼鏁伴噺鍥哄畾鐨勭嚎绋嬫睜
+     */
+    public ExecutorService newFixedThreadPool(int size) {
+        if (size == 0 || coreSize < size) {
+            return Executors.newFixedThreadPool(coreSize);
+        }
+        return Executors.newFixedThreadPool(size);
+    }
+
+    /**
+     * 瀹氭椂浠诲姟绾跨▼姹�
+     */
+    public ScheduledExecutorService newScheduledThreadPool(int size) {
+        if (size == 0 || coreSize < size) {
+            return Executors.newScheduledThreadPool(coreSize);
+        }
+        return Executors.newScheduledThreadPool(size);
+    }
+
+    /**
+     * 鍗曚竴绾跨▼
+     */
+    public ExecutorService newSingleThreadPool() {
+        return Executors.newSingleThreadExecutor();
+    }
+
+
+    public ExecutorService newCachedThreadPool() {
+        return Executors.newCachedThreadPool();
+    }
+
+    /**
+     * 鍒囨崲鍥炰富绾跨▼
+     */
+    public void runOnUiThread(Runnable run) {
+        uiHandler.post(run);
+    }
+
+
+}

--
Gitblit v1.8.0