2012-04-16 106 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