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