| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package com.siwei.apply.utils;
- import com.google.common.util.concurrent.ThreadFactoryBuilder;
- import java.util.concurrent.LinkedBlockingQueue;
- import java.util.concurrent.ThreadFactory;
- import java.util.concurrent.ThreadPoolExecutor;
- import java.util.concurrent.TimeUnit;
- /**
- * 异步线程池
- *
- * @author wanger
- **/
- public class FixedThreadUtil {
- private FixedThreadUtil() {
- }
- /**
- * 线程数
- */
- private static final int N_CPUS = Runtime.getRuntime().availableProcessors();
- /**
- * 使用 ThreadFactoryBuilder 创建自定义线程名称的 ThreadFactory
- */
- private static final ThreadFactory NAMED_THREAD_FACTORY = new ThreadFactoryBuilder()
- .setNameFormat("hyn-demo-pool-%d").build();
- /**
- * 创建线程池,其中任务队列需要结合实际情况设置合理的容量 消费大数据kafka
- */
- public static final ThreadPoolExecutor FIXED_THREAD_POOL = new ThreadPoolExecutor(N_CPUS,
- N_CPUS * 2,
- 0L,
- TimeUnit.MILLISECONDS,
- new LinkedBlockingQueue<>(10240),
- NAMED_THREAD_FACTORY,
- new ThreadPoolExecutor.CallerRunsPolicy());
- }
|