android 自定义线程池ThreadPoolUtils工具类
16lz
2021-12-04
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.FutureTask;import java.util.concurrent.ThreadFactory;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;/** * Created by Administrator on 2017/10/27. */public class ThreadPoolUtils { //线程池核心线程数 private static int CORE_POOL_SIZE = 5; //线程池最大线程数 private static int MAX_POOL_SIZE = 10; //额外线程空状态生存时间 private static int KEEP_ALIVE_TIME = 10000; //阻塞队列。当核心线程都被占用,且阻塞队列已满的情况下,才会开启额外线程。 private static BlockingQueue workQueue = new ArrayBlockingQueue(10); //线程池 private static ThreadPoolExecutor threadPool; private ThreadPoolUtils() { } //线程工厂 private static ThreadFactory threadFactory = new ThreadFactory() { private final AtomicInteger integer = new AtomicInteger(); @Override public Thread newThread(Runnable r) { return new Thread(r, "myThreadPool thread:" + integer.getAndIncrement()); } }; static { threadPool = new ThreadPoolExecutor(CORE_POOL_SIZE, MAX_POOL_SIZE, KEEP_ALIVE_TIME, TimeUnit.SECONDS, workQueue, threadFactory); } public static void execute(Runnable runnable) { threadPool.execute(runnable); } public static void execute(FutureTask futureTask) { threadPool.execute(futureTask); } public static void cancel(FutureTask futureTask) { futureTask.cancel(true); }}
更多相关文章
- webservice1(队列上传 呼叫)
- Android消息机制
- ❤️烦恼?头疼?不知所措?Android的ANR问题,一剂药到病除❤️【建议收藏】
- Android面试6家一线大厂,这个问题是必问!
- 花了 6 个月整理了 100 篇 Android(安卓)干货文章
- Android(安卓)进程和线程模型
- 【Android】源码分析 - Handler消息机制再梳理
- Android(安卓)Handler 线程消息机制
- android访问网络,下载图片,并设置UI