1
如果应用程序在查询返回响应之前被阻塞,那么在线程池上执行查询没有意义吗?在Java中,每个查询应该在单独的线程中吗?
如果应用程序在查询返回响应之前被阻塞,那么在线程池上执行查询没有意义吗?在Java中,每个查询应该在单独的线程中吗?
只有当您期望在此期间执行工作时,否则就没有意义了。一个很好的方法是让你的API返回一个Future
。喜欢的东西:
interface QueryService {
public FutureTask<QueryResult> query(Query q);
}
FutureTask<QueryResult> res = query(..);
// do work
res.get(); // blocks until result is in
当然,你通常应该提交您的Callables
或Runnables
到ExecutorService
。
感谢这个答案是足够的,因为这个主题上有另一个线程。 – MetaChrome
@dlots:你可以请发布该线程的链接? –