线程池的使用Demo

public class ThreadUtils {
   
    private static final ThreadUtil ourInstance = new ThreadUtil();

   // 线程池的时间执行者
    ThreadPoolExecutor threadPoolExecutor;

    private ThreadUtil() {
     // 定义线程池,依此参数意义:核心线程数量、线程总数量、线程等待超时时间、时间单位、
    // 线程等待时存放任务的阻塞队列
        threadPoolExecutor = new ThreadPoolExecutor(3, 6,
                10, TimeUnit.SECONDS,
                new LinkedBlockingDeque<Runnable>(3));
//        threadPoolExecutor.shutdownNow();
    }
  
   // 单例模式
    @NonNull
    public static ThreadUtil getInstance() {
        return ourInstance;
    }
  
  // 启动线程,开始执行任务
    public void run(@NonNull Runnable runnable) {
        threadPoolExecutor.execute(runnable);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容