quartz的執行緒池機制

xysniper發表於2009-09-21
在quartz裡,有一個scheduler的properties檔案,用於配置quartz框架執行時環境,其中有如下配置:

#============================================================================
# Configure ThreadPool
#============================================================================

org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=20
org.quartz.threadPool.threadPriority=5
org.quartz.threadPool.makeThreadsDaemons=true
<p class="indent">

這裡的意思是我有一個執行緒池,每次觸發時有20個執行緒被併發執行,如果將threadCount設為1,就意為著每次觸發時只有一個執行緒被執行,所以就有一個問題:如果我的scheduler_jobs.xml檔案裡有兩個JOB或者三四個,觸發時間一樣,都是:<cron-expression>0 0/2 * *,* * ?</cron-expression>,如這兩個JOB的任務很簡單,就是生成一個檔案放在目錄下,那麼這兩個JOB因為threadCount=1而不會併發執行,只能一個一個執行,也不會在每分鐘同時觸發,可是為什麼測試的結果是它們好像同時觸發了,而且生成的檔案的時間是一樣的,請教這怎麼理解?

相關文章