关于Quartz.NET 1.0和线程管理的快速问题。如果我将Quartz.NET作为Windows运行,并且同时执行多个作业,那么所有这些作业(Quartz.NET线程)是否都在同一个AppDomain中运行?也就是说,它们是作为独立的AppDomains在Quartz.NET AppDomain中启动,还是作为单独的线程在其中启动?一个工作中一个漫长而缓慢的过程会对其他工作产生怎样的影响?应该有什么影响吗?试图更好地理解如何同时运行多个作业可能会影响整个系统。谢谢。
发布于 2014-05-23 07:27:29
所有作业都使用Quartz线程池中的工作线程运行。您可以配置线程池线程计数,它与可以同时运行的作业数量相关。这个线程池位于启动Quartz的同一个AppDomain中。石英不产生自己的AppDomains。
与任何作业一样,长时间运行的作业使用池中的线程。如果您有许多长时间运行的作业,您可能会耗尽线程,从而导致延迟--作业将被延迟触发(基于错误的策略)。如果没有实现IStatefulJob,如果触发间隔短于作业执行时间,则作业可能由两个触发器同时运行。
https://stackoverflow.com/questions/23815901
复制相似问题