【发布时间】:2017-08-16 16:27:21
【问题描述】:
这是来自 Jersey docs 的异步服务示例代码:
@Path("/resource")
public class AsyncResource {
@GET
public void asyncGet(@Suspended final AsyncResponse asyncResponse) {
new Thread(new Runnable() {
@Override
public void run() {
String result = veryExpensiveOperation();
asyncResponse.resume(result);
}
private String veryExpensiveOperation() {
// ... very expensive operation
}
}).start();
}
}
考虑到容器已经负责将连接处理线程释放回池并将请求处理交给工作线程,我想知道为什么我们仍然需要以编程方式生成一个新线程?这不应该只是容器配置的问题(设置工作线程的数量)吗?
【问题讨论】:
标签: asynchronous jakarta-ee jax-rs