启用异步支持 @EnableAsync
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
@EnableAsync
@SpringBootApplication
public class TestApplication{
public static void main( String[] args ){
SpringApplication.run(TestApplication.class, args);
}
}
@RequestMapping("test")
@RestController
public class TestController {
@Resource
private Test test;
@GetMapping
public void test() throws InterruptedException {
System.out.println(111);
test.test();
System.out.println(555);
}
}
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@Component
public class Test {
@Async
public void test() throws InterruptedException {
Thread.sleep(500);
System.out.println(444);
}
}
@Async异步方法默认使用Spring创建ThreadPoolTaskExecutor。
默认核心线程数:8
最大线程数:Integet.MAX_VALUE
队列使用LinkedBlockingQueue
容量是:Integet.MAX_VALUE
空闲线程保留时间:60s
线程池拒绝策略:AbortPolicy