跳到主要内容

多线程异步执行

框架内已集成:ThreadPoolTaskExecutor

异步两种实现方式:

  1. 手动注入ThreadPoolTaskExecutor线程池执行方式。

    栗子:

    在接口方法中使用:

    @Autowired
    private ThreadPoolTaskExecutor executor;

    @GetMapping("asyncExecute")
    public Result asyncExecute(){
    log.info("<-主线程");
    executor.execute(()-> {
    log.info("<-异步线程");// 常用:微信消息通知、发送短信等
    });
    return R.OK();
    }
  2. 使用@Async注解

    在实现类中使用: 当调用此方法时则会自定使用线程池去执行该方法。

    @Async
    @Override
    public void sendSms(String... phoneNums) {
    Console.log("执行逻辑...");
    for (String phoneNum : phoneNums) {
    System.out.println("正在发送短信 to \'"+phoneNum+"\'");
    }
    }