1使用して@Async
非同期呼び出しを
スタートプラス@EnableAsync
、非同期メソッドの中に加入する必要が@Async
プラスアプローチで@Async
マルチスレッド技術の基本使用後に。
1.1デモコード
@RestController
@Slf4j
public class IndexController {
@Autowired
private UserService userService;
@RequestMapping("/index")
public String index() {
log.info("##01##");
userService.userThread();
log.info("##04##");
return "success";
}
}
@Service
@Slf4j
public class UserService {
@Async // 类似与开启线程执行..
public void userThread() {
log.info("##02##");
try {
Thread.sleep(5 * 1000);
} catch (Exception e) {
// TODO: handle exception
}
log.info("##03##");
// new Thread(new Runnable() {
// public void run() {
// log.info("##02##");
// try {
// Thread.sleep(5 * 1000);
// } catch (Exception e) {
// // TODO: handle exception
// }
// log.info("##03##");
// }
// }).start();
}
}
@EnableAsync // 开启异步注解
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}