我不得不将请求从同步转换为异步。就像
@PostMapping
public ResponseEntity<?> <name> (<args>) {
<do something>
<do something very time consuming>
<return response>
}
因此,我不得不更快地返回响应,并且“做一些非常耗时的事情”阻止了该响应,并且我认为我只会在后台运行它。我将代码移到一个单独的类中,并使用CompletableFeatures来做到这一点。
现在,我不再像“做一些非常耗时的事情”这样的事情了:
@PostMapping
public ResponseEntity<?> <name> (<args>) {
<do something>
CompletableFuture.runAsync(() -> {
new <NewClass>.<NewMethod>(<args>);
});
<return response>
}
新的NewClass.NewMethod(args); 包含耗时的代码。
似乎工作正常,但我想知道是否必须确保新代码需要是线程安全的?这里有什么意见吗?抱歉,您使用的是假名称,在此先感谢。
棒棒哒。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。