SpringBoot最简多线程配置教程

spring 文章 2021-04-30 13:27 409 0 全屏看文

AI助手支持GPT4.0

package cn.sanshu.soa.distributionserialcenter.core.threadpool;

import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

@Configuration
@EnableAsync
public class ExecutorConfig {

    private static final Logger logger = LoggerFactory.getLogger(ExecutorConfig.class);

    private int corePoolSize = 20;
    private int maxPoolSize = 20;
    private int queueCapacity = 9999;
    private String namePrefix = "dsc_";

    @Bean(name = "asyncServiceExecutor")
    public Executor asyncServiceExecutor() {
        logger.info("start asyncServiceExecutor");
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        //配置核心线程数
        executor.setCorePoolSize(corePoolSize);
        //配置最大线程数
        executor.setMaxPoolSize(maxPoolSize);
        //配置队列大小
        executor.setQueueCapacity(queueCapacity);
        //配置线程池中的线程的名称前缀
        executor.setThreadNamePrefix(namePrefix);

        // rejection-policy:当pool已经达到max size的时候,如何处理新任务
        // CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        //执行初始化
        executor.initialize();
        return executor;
    }
}


在需要多线程调用的方法上面追加:

@Async("asyncServiceExecutor")
private void updateSaleRebateMsg() {
	syso("多线程执行方法")
}


这样就好了。

要注意 第二段代码里的 注解里的asyncServiceExecutor 一定要和第一段代码里的 bean的name相同。


-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
springJdbcTemplate 执行 sql中包含in的用法
java一行代码判断2个数组里是否有相同的值
spring项目输出当前的activeprofile
Spring里自带的数组集合用逗号拼接成字符串的方法
Spring中使用jdbcTemplate.queryForRowSet取值,日期丢失时分秒的解决方案
随便看看
论坛小程序,选择社交-论坛,社交笔记。可以发图文及短视频吗? 332
举报251个盗版侵权电影院影视的公众号(含通过公众号卖黄色电影资源的),请管理员处理? 6917
腾讯的人工客服?我笑了 281
视频号直播放电影有啥要求? 751
商户平台的“运营账户”自动开通了是什么原因? 368
企业微信小程序在IOS系统中打开频繁报错“网络无法连接”,并有重新加载按钮;试了很多次都不行 1126
企业微信小程序,网络连接错误,重新加载,怎么解决? 458
企业微信-外部联系人unionid升级后不能获取 352
小程序开通云闪付支付后常见问题Q&A 319
同时开通服务商和普通商户,在使用普通商户模式发起支付下单时报错? 654