zoukankan      html  css  js  c++  java
  • 线程池(8)创建标准线程池代码

    阿里规范要求的标准做法2------hutool创建ThreadFactory

    import java.util.concurrent.BlockingQueue;
    import java.util.concurrent.ExecutorService;
    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;
    
    import lombok.extern.slf4j.Slf4j;
    import cn.hutool.core.thread.ThreadFactoryBuilder;
    
    @Slf4j
    public class ThreadPoolExecutorStandard2 {
        public static void main(String[] args) {
            BlockingQueue<Runnable> blockQueue = new LinkedBlockingQueue<Runnable>(1024);
            RejectedExecutionHandler abort = new ThreadPoolExecutor.AbortPolicy();
            ThreadFactory namedThreadFacgtory = new ThreadFactoryBuilder().setNamePrefix("test-pool-").build();
            ExecutorService fixedThreadPool = new ThreadPoolExecutor(3, 5, 50L, TimeUnit.MILLISECONDS, blockQueue,
                    namedThreadFacgtory, abort);
    
            try {
                for (int i = 0; i < 20; i++) {
                    Runnable syncRunnable = new Runnable() {
                        @Override
                        public void run() {
                            log.info(Thread.currentThread().getName());
                            try {
                                Thread.sleep(2000);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }
                    };
                    fixedThreadPool.execute(syncRunnable);
                }
            } finally {
                fixedThreadPool.shutdown();
            }
        }
    }

    输出:

    15:11:16.098 test-pool-0

    15:11:16.098 test-pool-1

    15:11:16.098 test-pool-2

    15:11:18.101 test-pool-1

    15:11:18.101 test-pool-0

    15:11:18.101 test-pool-2

    15:11:20.101 test-pool-1

    15:11:20.102 test-pool-0

    15:11:20.102 test-pool-2

    15:11:22.101 test-pool-1

    15:11:22.102 test-pool-0

    15:11:22.104 test-pool-2

    15:11:24.102 test-pool-1

    15:11:24.104 test-pool-0

    15:11:24.105 test-pool-2

    15:11:26.103 test-pool-1

    15:11:26.104 test-pool-0

    15:11:26.105 test-pool-2

    15:11:28.103 test-pool-1

    15:11:28.105 test-pool-0

  • 相关阅读:
    使用 typeScript 规范代码
    图片 剪切 上传
    hybrid
    resful
    区块链
    前端数据采集 埋点 追踪用户系列行为
    kafka生产消息的速度跟什么有关?
    引用:实际数据库需求变化及演变
    HBase学习
    使用scala开发spark入门总结
  • 原文地址:https://www.cnblogs.com/yaoyuan2/p/10369988.html
Copyright © 2011-2022 走看看