我想等待每个请求10秒的请求,但请求不必等待对方。所以第二个请求不必等待20秒。Servlet中的异步进程
我的servlet:
@WebServlet(value = "/account", asyncSupported = true)
public class AccountServlet extends javax.servlet.http.HttpServlet {
public AccountServlet() {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
AsyncContext ac = request.startAsync();
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(10);
executor.execute(new MyAsyncService(ac));
}
@Override
public void init(ServletConfig config) throws ServletException {
}
}
我的异步过程类:
class MyAsyncService implements Runnable {
AsyncContext ac;
public MyAsyncService(AsyncContext ac) {
this.ac = ac;
}
@Override
public void run() {
try {
System.out.println("started");
Thread.sleep(10000);
System.out.println("completed");
ac.complete();
} catch (InterruptedException ex) {
Logger.getLogger(MyAsyncService.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
为什么投票能解释一下吗? – Sarkhan