Quartz .NET 2.x 我可以用不同的线程池配置调度程序吗

Quartz .NET 2.x can I configure scheduler with different thread pools

我是 Quartz .NET 的新手。我正在使用 2.6 版。 我有两种工作,低优先级和高优先级。我只想要一个线程池来处理高优先级的工作。 有没有办法配置调度程序来处理这个问题?

谢谢

I'd want a thread pool only for high priority job.

ThreadPool 提供了一组Threads 供Quartz 在执行Jobs 时使用。当有新作业时,应该在quartz线程池的线程中执行,这个线程只能来自quartz线程池。

你可能有多少个线程池:每个Quartz调度器实例只允许你创建一个线程池,这个调度器实例中的所有作业都将在这个池中运行。

因此您可以创建许多 Quartz 调度程序实例,从而分离您的作业。


注意:线程池大小、线程系统优先级和池实现可以是 modified/replaced. To provide own implementation, you need a class derived from IThreadPool interface

    /// Execute the given <see cref="Task" /> in the next
    /// available <see cref="Thread" />.
    bool RunInThread(Func<Task> runnable);

来自 docs:Quartz 带有一个简单的(但非常令人满意)线程池,名为 Quartz.Simpl.SimpleThreadPool。这个 IThreadPool 实现只是在其池中维护一组固定的线程——永不增长,永不收缩。但它在其他方面非常健壮并且经过了很好的测试——因为几乎每个使用 Quartz 的人都使用这个池。