线程池(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

posted @ 2019-02-13 15:16  遥远2  阅读(424)  评论(0编辑  收藏  举报