代码如下:
package com.wy.test.other;
import android.support.annotation.NonNull;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
/**
* 线程池的工具类
* 用于进行线程的管理,防止重复创建、杀死线程。
* <p>
* 多线程运行期间,如果系统不断的创建、杀死新线程,
* 会产生过度消耗系统资源,以及过度切换线程的问题,甚至可能导致系统资源的崩溃。
* 因此需要线程池,对线程进行管理。
*/
public class ThreadPoolUtil {
private String TAG = getClass().getName();
private static volatile ThreadPoolUtil mInstance;
//核心线程池的数量,同时能够执行的线程数量
private int corePoolSize;
//最大线程池数量,表示当缓冲队列满的时候能继续容纳的等待任务的数量
private int maxPoolSize;
//存活时间
private long keepAliveTime = 1;