线程池

线程池

1.线程池有多套生成策略

利用hutool的builder抽象,可以通过构造模式生成一个符合自己业务需求的线程池

2.线程池的创建

ThreadPoolExecutor threadPool = ExecutorBuilder.create()
                .setCorePoolSize(10)
                .setMaxPoolSize(20)
                .setWorkQueue(new LinkedBlockingDeque<>(100))
                .build();
  • 核心线程10
  • 最大处理线程20
  • 有界队列100

3.ExecutorBuilder谁来提供?

package cn.hutool.core.thread 来提供

原生线程池

private ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2, new ThreadFactory() {
        String namePrefix = "XbpListener-Worker-";
        private final AtomicInteger nextId = new AtomicInteger(1);

        @Override
        public Thread newThread(Runnable task) {
            String name = namePrefix + nextId.getAndIncrement();
            Thread thread = new Thread(task, name);
            return thread;
        }
    });
posted @   SpecialSpeculator  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示