多线程的使用

1.线程池的创建:

在定义完线程池后,进行业务代码的处理:

public class ThreadPoolUtil {
    /**
     * 线程工厂定义
     */
    private static ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFormat("thread-pool-%d").build();

    /**
     * 线程池定义
     */
    public static ThreadPoolExecutor executor =
            new ThreadPoolExecutor(
                    5,
                    6,
                    10,
                    TimeUnit.SECONDS,
                    new LinkedBlockingQueue<>(10000),
                    threadFactory);
    /**
     * 异步执行
     *
     * @param runnable
     */
    public static void execute(Runnable runnable) {
        executor.execute(runnable);
    }
}

2.业务代码的处理 :

        List<CompletableFuture<Void>> completableFutures = new ArrayList<>();

        completableFutures.add(CompletableFuture.runAsync(() ->{
            //填充业务代码

        }, ThreadPoolUtil.executor));

        completableFutures.add(CompletableFuture.runAsync(() ->{
            //填充业务代码
        }, ThreadPoolUtil.executor));

        CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).join();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值