zoukankan      html  css  js  c++  java
  • spring-boot 多线程



      1 //配置类
      2 
      3 package test;
      4 
      5 import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
      6 import org.springframework.context.annotation.ComponentScan;
      7 import org.springframework.context.annotation.Configuration;
      8 import org.springframework.scheduling.annotation.AsyncConfigurer;
      9 import org.springframework.scheduling.annotation.EnableAsync;
     10 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
     11 
     12 import java.util.concurrent.Executor;
     13 
     14 @Configuration
     15 @ComponentScan("test")
     16 @EnableAsync
     17 public class TaskExecutorConfig implements AsyncConfigurer{
     18 
     19     @Override
     20     public Executor getAsyncExecutor() {
     21         ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
     22         taskExecutor.setCorePoolSize(5);
     23         taskExecutor.setMaxPoolSize(10);
     24         taskExecutor.setQueueCapacity(25);
     25         taskExecutor.initialize();
     26         return taskExecutor;
     27     }
     28 
     29     @Override
     30     public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
     31         return null;
     32     }
     33 }


      1 //任务执行类
      2 
      3 package test;
      4 
      5 import org.springframework.scheduling.annotation.Async;
      6 import org.springframework.stereotype.Service;
      7 
      8 @Service
      9 public class AsyncTaskService {
     10 
     11     @Async
     12     public void executeAsyncTask(Integer i) {
     13         System.out.println("执行异步任务:" + i);
     14     }
     15 }


      1 //运行
      2 
      3 package test;
      4 
      5 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
      6 
      7 public class Application {
      8 
      9     public static void main(String[] args) {
     10         AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(TaskExecutorConfig.class);
     11 
     12         AsyncTaskService asyncTaskService = context.getBean(AsyncTaskService.class);
     13         for (int i = 0; i < 20; i++) {
     14             asyncTaskService.executeAsyncTask(i);
     15         }
     16         context.close();
     17     }
     18 }







    本文出自于:hacpai

  • 相关阅读:
    贪心:SPOJ Backup Files
    杂题 SPOJ MOBILE2
    杂题 UVAoj 10000 Longest Paths
    杂题 UVAoj 107 The Cat in the Hat
    DP(斜率优化):HDU 3507 Print Article
    搜索(DLX): POJ 3074 3076 Sudoku
    DLX模板
    PHP代码优化技巧大盘点
    盘点PHP编程常见失误
    PHP Socket 编程详解
  • 原文地址:https://www.cnblogs.com/ios9/p/7473569.html
Copyright © 2011-2022 走看看