如何在特定的毫秒内完成工作? 我想在02:00:00.200.200、02:00:00.400、02:00:00.600和...进行工作。这在C#中可能吗? 工作可能需要更长的时间。能按时完成吗?例如,在后台运行?
答案 0 :(得分:0)
您可以尝试通过winmm.dll timeBeginPeriod函数调用来提高计时器的准确性
查看此链接how to set timer resolution from C# to 1 ms?以获得更多信息
答案 1 :(得分:0)
@jdweng我使用以下代码,但是作业没有在200、400、600等毫秒内完成。时间表也从2:0:0.500
开始StdSchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = await factory.GetScheduler();
await scheduler.Start();
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("job1", "group1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartAt(DateBuilder.DateOf(2, 0, 0))
.WithSimpleSchedule(x => x
.WithInterval(TimeSpan.FromMilliseconds(200))
.WithRepeatCount(5))
.Build();
await scheduler.ScheduleJob(job, trigger);
await Task.Delay(TimeSpan.FromSeconds(60));
await scheduler.Shutdown();