1. 构建一个线程池管理的工具类:ThreadManager
package com.example.design.thread;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
* 线程池管理的工具类:ThreadManager
*/
public class ThreadManager {
//通过ThreadPoolExecutor的代理类来对线程池的管理
private static ThreadPollProxy mThreadPollProxy; //单例对象
public static ThreadPollProxy getThreadPollProxy() {
synchronized (ThreadPollProxy.class) {
if (mThreadPollProxy == null) {
mThreadPollProxy = new ThreadPollProxy(3, 6, 1000);
}
}
return mThreadPollProxy;
}
//通过ThreadPoolExecutor的代理类来对线程池的管理
public static class ThreadPollProxy {
//线程池执行者, java内部通过该api实现对线程池管理
private ThreadPoolExecutor poolExecutor;
private int corePoolSize;
private int maximumPoolSize;
private long keepAliveTime;
ThreadPollProxy(int corePoolSize, int maximumPoolSize, long keepAliveTime) {
this.corePoolSize = corePoolSize;
this.maximumPoolSize =<