Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用TreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。而实际开发任务一般是非阻碍的,即异步的,所以我们要在配置类中通过@EnableAsync开启对异步任务的支持,并通过在实际执行的Bean中的方法使用@Async注解来声明其是一个异步任务。
同步和异步
同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。 区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。
网友评论