logobsky
首页 留言 登录
线程池

package com.tianji.promotion.config;

import lombok.extern.slf4j.Slf4j;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.Executor;

import java.util.concurrent.ThreadPoolExecutor;

@Slf4j

@Configuration

public class PromotionConfig {

@Bean

public Executor generateExchangeCodeExecutor(){

ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();

// 1.核心线程池大小

executor.setCorePoolSize(2);

// 2.最大线程池大小

executor.setMaxPoolSize(5);

// 3.队列大小

executor.setQueueCapacity(200);

// 4.线程名称

executor.setThreadNamePrefix("exchange-code-handler-");

// 5.拒绝策略

executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());

executor.initialize();

return executor;

}

}这是自定义线程池,方法上@Async这个注解可以开启异步线程池执行,@EnableAsync启动类上要加这个注解,要在@Async后面声明在对应的bean,bean没有输入对面的名称那默认的id就是方法名字,不然就会使用默认的tomcat线程池

上一篇:aop切面编程
下一篇:mybatis-plus
验证码
评论留言 (0条)