2012-04-16 49 views
2

我使用的ThreadPoolExecutor掐死调用我的servlet定制ThreadPoolExecutor的,我看了一下下面的链接: http://www.softwareengineeringsolutions.com/blogs/2010/08/13/asynchronous-servlets-in-servlet-spec-3-0/与延迟

这给了很好的例子。但需要添加延迟。这里怎么做。 我正在维护7个线程池,它们同时运行。但是,在所有线程完成之后,应该从队列中创建新线程,并且我需要在此之前进行。 因此,每7次调用一次,我需要一段时间才能将更多线程从队列中汇集起来并作为任务运行。

将ScheduledThreadPoolExecutor的帮助,如果是的话如何。或者如何修改现有的ThreadPoolExecutor会有所帮助。

回答

0

如果您只是需要限制servlet请求,用线程池的异步请求是而不是解决问题的方法。最简单的方法是添加一个过滤器,使用像信号量那样限制传入的请求。

如果您需要使用异步请求并希望限制它们,那么只需使用有限大小的线程池。

+0

我曾尝试过,即使有一个工作代码,它是基于同步模型不是,异步模型。你能帮我转换它吗?更多的代码使用了码头控制。我需要一个tomcat实现。 – Maverick 2012-04-17 09:04:30

+0

[链接](http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/QoSFilter.java ) – Maverick 2012-04-17 09:04:58

+0

请提出一些解决方案? – Maverick 2012-04-26 08:19:19