作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
说我有一个方法
@RestController
@RequestMapping(value = "/")
public class AppController {
@Async
@PostMapping(value="/")
public CompletableFuture<> doSomething(@RequestBody ..., HTTPServletResponse response){
//something;
return completableResult;
}
}
据我所知,该方法将立即返回并释放容器线程。
但是(一段时间后)返回的值是如何处理的呢?
有听众吗?
这不会阻塞容器线程之一吗?
不是有像 future.get() 这样的东西在内部执行吗?
最佳答案
有一个方法doSomething.isDone()
来检查 future 是否准备好。您可以实现 if 语句来检查 isDone 是否返回 true(并调用 .get()
方法来检索 future 的内容)。如果返回 false,则意味着您需要等待 future。
编辑:编辑帖子后,我的答案不再那么相关,但我会按照我所描述的类似方式进行操作。
关于Java Spring : How is the return value of @Async method handled?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56903020/
我是一名优秀的程序员,十分优秀!