代码之家  ›  专栏  ›  技术社区  ›  Lorenzo Isidori

石英净额2。x我可以用不同的线程池配置调度程序吗

  •  0
  • Lorenzo Isidori  · 技术社区  · 6 年前

    我不熟悉石英。网我使用的是2.6版。 我有两种工作,低优先级和高优先级。我希望线程池只用于高优先级的工作。 有没有办法配置调度器来处理这个问题?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   Set    6 年前

    我希望线程池只用于高优先级的工作。

    线程池提供了一组线程,供Quartz在执行作业时使用。当有新作业时,应该在石英线程池中的线程中执行,并且该线程只能来自石英线程池。

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

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


    注意:线程池大小、线程系统优先级和池实现可以是 modified/replaced 。要提供自己的实现,您需要一个派生自 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公司 实现只需在其池中维护一组固定的线程—永不增长,永不收缩。但它在其他方面非常健壮,并且经过了很好的测试,因为几乎所有使用石英的人都使用这个池。