Java中创建线程池工具类

2023-12-20 16:33:29
import java.util.concurrent.*;


/**

多线程工具类
*/
public class ThreadPoolUtils {
    private static int CAPACITY = 10000;

    // 线程池核心线程数
    public static int CORE_POOL_SIZE = 10;

    // 线程池最大线程数
    private static int MAXIMUM_POOL_SIZE = 30;

    // 额外线程空状态生存时间
    private static Long KEEP_ALIVE_TIME = 0L;

    private static TimeUnit TIME_UNIT = TimeUnit.MILLISECONDS;

    private static ExecutorService threadPool;

    static {

        BlockingQueue<Runnable> workingQueue = new ArrayBlockingQueue<Runnable>(CAPACITY);

        RejectedExecutionHandler rejectedExecutionHandler = new ThreadPoolExecutor.AbortPolicy();

        threadPool = new ThreadPoolExecutor(CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, KEEP_ALIVE_TIME, TIME_UNIT, workingQueue,
                rejectedExecutionHandler);
    }
    /**
     * 提交任务
     *
     * @param runnable
     * @throws
     */
    public static void execute(Runnable runnable)  {
        threadPool.execute(runnable);
    }

}
/**
测试工具类是否能使用
*/
 @Test
    public  void test() {
        ThreadPoolUtils.execute(

                new Runnable() {
                    @Override
                    public void run() {
                        System.out.println("1111");
                    }
                }

        );


        System.out.println("2");

    }

结果

2
1111

文章来源:https://blog.csdn.net/weixin_50391597/article/details/135104084
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。