我在一项业务中服务,我不知道线程需要多长时间才能完成其工作,因此我无法设置确切的时间间隔。或以另一种方式,我想知道如何在上一个线程完成其工作后设置一个线程启动。
答案 0 :(得分:5)
您可以在工作中使用DisallowConcurrentExecution
属性。该属性保证下一次执行直到当前执行完成后才开始。
[DisallowConcurrentExecution]
public class MyJob : IJob {
// whatever your job is
}
要按顺序制作线程-我认为您的意思是说作业一旦完成就立即执行-您可以使用以下两种情况之一:
设置作业RepeatForEver
并将间隔设置为非常小的数字,例如10毫秒
将作业的重复次数设置为一次,完成后,安排新的(相同)作业
两者都可以。