Android开发线程池管理类之ThreadPoolExecutor工具类
生活随笔
收集整理的這篇文章主要介紹了
Android开发线程池管理类之ThreadPoolExecutor工具类
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
平常開發(fā)中網(wǎng)絡(luò)請(qǐng)求自從Android4.0后強(qiáng)制要求放到子線程中避免主線程進(jìn)行網(wǎng)絡(luò)請(qǐng)求,一般很多人習(xí)慣直接通過new Thread的方法。不建議這樣使用。我們用ThreadPoolExecutor線程池這個(gè)類創(chuàng)建比較好。所以有了下面的線程池工具類。
先來張JDK1.6的中文參數(shù)說明
package com.xiayiye.honorfirst.utils;import java.util.concurrent.BlockingQueue; import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit;/*** @author xiayiye* 線程池工具*/ public class ThreadUtils {/*** 根據(jù)cup核心數(shù)設(shè)置線程池?cái)?shù)量*/private static int corePoolSize = Runtime.getRuntime().availableProcessors();/*** 最大線程池?cái)?shù)量= cpu核心數(shù)*2+1*/private static int maximumPoolSize = corePoolSize * 2 + 1;/*** 等待線程的存活時(shí)間*/private static long keepAliveTime = 1;/*** 等待線程存活時(shí)間的單位*/private static TimeUnit unit = TimeUnit.HOURS;/****/private static BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>();/*** 默認(rèn)的線程工廠*/private static ThreadFactory threadFactory = Executors.defaultThreadFactory();/*** 取消策略,當(dāng)超過等待線程池的數(shù)量后禁止添加了*/private static RejectedExecutionHandler handler = new ThreadPoolExecutor.AbortPolicy();private static ThreadPoolExecutor executor;/*** 開啟線程池** @param runnable runnable*/public static void startThread(Runnable runnable) {executor = new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime, unit,workQueue,threadFactory,handler);executor.execute(runnable);}/*** 取消線程池** @param runnable runnable*/public static void cancelThread(Runnable runnable) {if (null == runnable || executor == null) {return;}executor.remove(runnable);} }?
調(diào)用就更簡單了。
ThreadUtils.startThread(runnable); ThreadUtils.cancelThread(runnable);一個(gè)是開啟線程池,一個(gè)是取消線程池
總結(jié)
以上是生活随笔為你收集整理的Android开发线程池管理类之ThreadPoolExecutor工具类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旅游旺季将至!兼职导游20万年薪仍招不到
- 下一篇: 截至 2022 年 12 月我国网民规模