前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot整合线程池

springboot整合线程池

原创
作者头像
无敌小菜鸟
修改2022-01-28 14:44:11
7700
修改2022-01-28 14:44:11
举报
文章被收录于专栏:搬砖笔记搬砖笔记

最近看直接起个线程的方法不是太好,顺便整理下线程池的配置,直接上代码。

配置线程池

代码语言:javascript
复制
@Configuration
public class ThreadPoolConfig {
    // 核心线程池大小
    private int corePoolSize = 50;

    // 最大可创建的线程数
    private int maxPoolSize = 200;

    // 队列最大长度
    private int queueCapacity = 1000;

    // 线程池维护线程所允许的空闲时间
    private int keepAliveSeconds = 300;

    @Bean(name = "myThreadPoolTaskExecutor")
    public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setMaxPoolSize(maxPoolSize);
        executor.setCorePoolSize(corePoolSize);
        executor.setQueueCapacity(queueCapacity);
        executor.setKeepAliveSeconds(keepAliveSeconds);
        // 线程池对拒绝任务(无线程可用)的处理策略
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        return executor;
    }
}

创建TestThreadController

代码语言:javascript
复制
    @GetMapping("test2")
    public String test2(){
        testService.tset2();
        return "test2";
    }

创建TestService

代码语言:javascript
复制
  @Async("myThreadPoolTaskExecutor")
    public void tset2(){
        try {
            log.info("test执行");
            System.out.println("当前运行的线程名称:" + Thread.currentThread().getName());
            Thread.sleep(3000);
            log.info("test执行");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

启动类加注解

代码语言:javascript
复制
@EnableAsync
@SpringBootApplication
public class TestApplication {

    /**
     * 主方法
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

测试

测试例
测试例

腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云GTS官方组建并运营的技术开发者群体。这里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹。来加入属于我们开发者的社群吧 。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置线程池
  • 创建TestThreadController
  • 创建TestService
  • 启动类加注解
  • 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档