C# WINFORM的定时作业 sleep和Quartz区别(Quartz并不好用)
程序需要实现定时作业的功能经常会遇到,之前我一直使用Sleep,今天我突然觉得C# 应该有简单的定时作业类可以使用吧,于是我百度了一把,果然有一个Quartz,但是使用后发现只能加载静态类代码,其实很不灵活。 一、C# WINFORM 中使用Quartz的例子代码: 1、VS2019创建一个WINFROM项目,NuGit管理器中直接安装Quartz。 2、加入下面的代码, 我专门为Quartz启动了一个线程m2: 1) Quartz的实现要建一个工厂factory, 2)建一个定时作业scheduler 3)加入一个工作项目job 4)加入一个触发条件trigger 5)最后执行就好。 注意这行代码: IJobDetail job = JobBuilder.Create<JobDemo>().Build(); 这个尖括号<>里面需要用到一个类,为此我们还要专门提供这个类 public class JobDemo:IJob,并在代码中加入定时执行的作业,这非常的不科学,静态的类不够灵活,很难访问instance中的全局变量,所以定时作业的使用会有很大的限制。虽然代码还是实现了5秒提示一个消息窗口,但是我准备不用Quartz。 using Quartz; using Quartz.Impl; namespace WindowsFormsApp1 { public partial