私のプロジェクトで石英を使用したいと思います。ジョブ用のスケジューラとスレッドプールがあることは知っています。
- スケジューラは独自のスレッドで継続的に実行され、ジョブを開始しますか?
- 2 コアの CPU でアプリを実行すると、1 つのコアがスケジューリング スレッドでビジーになりますか?
私のプロジェクトで石英を使用したいと思います。ジョブ用のスケジューラとスレッドプールがあることは知っています。
はい、Quartz は少なくとも n+1 個のスレッドを使用します。ここで 1 は、トリガーされる次のタスクの前にスリープしている無限ループで実行されているスケジューラー スレッドです。N は、スレッドプール内のワーカー スレッドの数です。プロパティを使用して、この数を構成できますorg.quartz.threadPool.threadCount
。
Eclipseなどを実行して動作することを確認できます。次に、デバッグビューで、アプリケーションのアクティブなスレッドとスリープしているスレッドを確認できます。
Quartzは、構成可能なスレッドのプールを作成します。各ジョブは独自のスレッドで起動します(もちろん、そうでない場合は同時に実行できません)。いいえ、ビジーループではないため、スケジューラはCPUを要求しません。