From 99bc815e07e39354f51421b77f4012ffd35594d8 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 28 六月 2023 18:03:00 +0800
Subject: [PATCH] 2023年06月28日18:02:58
---
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