zoukankan      html  css  js  c++  java
  • springboot+ 线程池

    //线程池类,直接复制不用修改
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
    
    import java.util.concurrent.ThreadPoolExecutor;
    
    /**
     * @author xulei
     * @version 1.0
     * @date 2020/8/21 16:00
     */
    @Configuration
    public class ThreadConfig {
        //线程池维护线程的最少数量
        private int corePoolSize = 10;
        //线程池维护线程的最大数量
        private int maxPoolSize = 45;
        //缓存队列
        private int queueCapacity = 8;
        //允许的空闲时间
        private int keepAlive = 60;
        
        @Bean(name = "threadPool")
        public ThreadPoolTaskExecutor getThreadPool() {
            ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
            executor.setCorePoolSize(corePoolSize);
            executor.setMaxPoolSize(maxPoolSize);
            executor.setQueueCapacity(queueCapacity);
            executor.setThreadNamePrefix("Executor-");
            // rejection-policy:当pool已经达到max size的时候,如何处理新任务
            // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行
            executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略
            executor.setKeepAliveSeconds(keepAlive);
            executor.initialize();
            return executor;
        }
    }
    //使用,先注入 
    @Resource(name = "threadPool") private ThreadPoolTaskExecutor executor;
    //调用
    executor.execute(() -> {
    //自己的逻辑代码
    });


  • 相关阅读:
    iOS常用的终端指令
    instancesRespondToSelector与respondsToSelector的区别
    Struts2(一)快速入门
    pl/sql快速输入select * from等语句快捷键设置
    win10系统安装oracle11g时遇到INS-13001环境不满足最低要求
    JSP四大作用域
    J2EE开发模式
    JAVA四大域对象总结
    Apache与Tomcat有什么关系和区别
    Junit测试框架
  • 原文地址:https://www.cnblogs.com/lovetl/p/13542335.html
Copyright © 2011-2022 走看看