2010-11-30 63 views
5

我想同時運行多個計劃任務。@計劃和調度程序:池大小到底是什麼?

當配置Spring這樣做,我可以提供一個游泳池大小的調度:

<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/> 
<task:executor id="myExecutor" pool-size="32"/> 
<task:scheduler id="myScheduler" pool-size="1000"/> 

但究竟什麼是PPOL大小的意思嗎?

這是否意味着它只能存儲1000個預定的方法或是否意味着只能同時處理1000個方法?

tldr;如果一個@Scheduled(fixedDelay = 60)註釋的方法是而不是此刻執行(意味着它在延遲之間),它是否填滿了池?

回答

4

它指的是可以一次由底層ThreadPoolExecutor彙集的線程數,即可以同時運行的名義數量的方法。

關於task namespace的文檔涉及了大量您需要的細節。

我預計在大多數環境中,1000個線程可能會太多。

+0

所以它不會合並,直到執行?執行完成後,相應的線程將從池中刪除,直到下一次執行? – chzbrgla 2010-11-30 14:04:23