我正在使用ThreadPoolExecutor来限制对我的servlet的调用,我提到了我的下面的链接: http://www.softwareengineeringsolutions.com/blogs/2010/08/13/asynchronous-servlets-in-servlet-spec-3-0/
这是一个很好的例子。但需要增加延迟。怎么做到这里 我正在维护一个由7个线程组成的池,它们同时运行。但是在所有线程完成之后,新线程应该从队列中创建,我需要在此之前放置。 所以每7个调用,我需要一个延迟,然后从队列中汇集更多的线程并作为任务运行。
ScheduledThreadPoolExecutor会帮助,如果是这样的话。或者如何修改现有的ThreadPoolExecutor会有所帮助。
答案 0 :(得分:0)
如果你只需要限制servlet请求,那么带有线程池的异步请求不是解决问题的方法。最简单的方法是添加一个Filter,它使用信号量之类的东西来限制传入的请求。
如果您需要使用异步请求并希望限制它们,那么只需使用有限大小的线程池。