java异步线程池demo

本文介绍了如何在Java中定义并使用线程池进行异步任务执行。核心内容包括线程池的创建,特别是核心池大小、最大线程数、存活时间等参数的含义,以及线程池的四种拒绝策略。示例展示了线程池如何在内存中持续运行,无需每次使用后关闭。
摘要由CSDN通过智能技术生成

ava异步执行可以使用线程,或者第三方消息中间件,如mq

线程池的使用:

    private BlockingQueue<Runnable> taskQueue = new ArrayBlockingQueue<>(100);
    private RejectedExecutionHandler rejectedExecutionHandler = (r, executor) -> log.error("BlockingQueue is full in AppointFacadeImpl");
    private ManagedThreadPool executor = new ManagedThreadPool(8, 16, 60L, TimeUnit.SECONDS, taskQueue, new NamedThreadFactory("CheetahClientImplThreadPool"), rejectedExecutionHandler);



executor.execute(() -> {
          //task
            List<ShopServiceInfo> shopServiceInfos = shopServiceInfoService.selectByServiceSns(shopId, appointCarTokenVo.getItemIds().toArray(new String[]{}));
            createAppointByCarToken(shopServiceInfos, appintSn, shopId, appointCarTokenVo, redisKey);
            
        });

 

在一个类中定义自己的线程池,然后异步执行自己的任务就行。内存中有一个线程池,服务不停一直就在。shtudown方法使用在test

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值