【问题标题】:Quartz.NET 1.0 Thread Management in Windows ServiceWindows 服务中的 Quartz.NET 1.0 线程管理
【发布时间】:2014-07-12 00:38:23
【问题描述】:

关于 Quartz.NET 1.0 和线程管理的快速问题。如果我将 Quartz.NET 作为 Windows 服务运行,并且同时执行多个作业,那么所有这些作业(Quartz.NET 线程)是否都在同一个 AppDomain 中运行?也就是说,它们是作为 Quartz.NET AppDomain 中的单独 AppDomain 启动的,还是作为其中的单独线程启动的?一个工作中长期运行缓慢的过程将如何影响其他工作?应该有什么影响吗?试图更好地了解同时运行多个作业可能会如何影响整个系统。谢谢。

【问题讨论】:

    标签: c# .net quartz.net


    【解决方案1】:

    所有作业都使用来自 Quartz 线程池的工作线程运行。您可以配置与可以同时运行的作业数量相关的线程池线程计数。此线程池位于启动 Quartz 的同一个 AppDomain 内。 Quartz 不会创建自己的 AppDomain。

    与任何作业一样,长时间运行的作业使用池中的线程。如果您有许多长时间运行的作业,您可能会用完线程,这会导致延迟 - 作业将被延迟触发(基于失火策略)。如果您没有实现 IStatefulJob,并且触发间隔短于作业执行时间,则作业可能会由两个触发器同时运行。

    【讨论】:

      猜你喜欢
      • 2022-10-26
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多