2012-11-28 22 views

回答

3

是的,quartz使用至少n + 1个线程,其中1是运行在无限循环中的调度程序线程,睡眠在应该触发的下一个任务之前。 N是线程池中的工作线程数。您可以使用属性org.quartz.threadPool.threadCount配置此号码。

+0

干杯,我实际上抓住了源代码和'QuartzSchedulerThread'是非常明显的:)。虽然他们的睡眠很时髦:'long now = System.currentTimeMillis(); long waitTime = now + getRandomizedIdleWaitTime(); long timeUntilContinue = waitTime - now; 同步(sigLock){ \t尝试{ \t \t \t \t \t \t sigLock.wait(timeUntilContinue); \t \t \t \t \t}赶上(InterruptedException的忽略){ \t \t \t \t \t} }' –

1

您可以通过运行例如Eclipse的东西来看到它的工作,然后在调试视图中可以看到应用程序的活动线程和睡眠线程。

石英将创建一个可配置的线程池。每个作业都会在自己的线程中触发(当然,否则它们不能同时运行)。不,它不是一个繁忙的循环,所以调度程序不会为自己申请一个CPU。