Пожалуйста, рассмотрите ниже тестовую программу. У меня есть три задания с определенным интервалом. [task1-- task1Interval, [task2-- task2Interval, [task3-- task3Interval] Я хочу использовать один таймер для выполнения всех трех задач. Все отлично работает, когда интервал находится в целочисленном размере. , мы хотим достичь той же функциональности с двойными значениями интервала, например [task1Interval-- 0,1, [task2Interval-- 2.1, [task3Interval-- 3.1].несколько задач с использованием одного и того же таймера для разных значений двойного интервала
Любые указатели для них были бы высоко оценены.
public class Class1
{
private System.Timers.Timer _timer;
private int _counter=0;
private int task1Interval = 1;
private int task2Interval = 2;
private int task3Interval = 3;
public void Start()
{
this._timer = new System.Timers.Timer(100);
this._timer.AutoReset = true;
this._timer.Elapsed += new System.Timers.ElapsedEventHandler(this.serviceTimerElapse);
this._timer.Enabled = true;
this._timer.Start();
}
private void serviceTimerElapse(object source, System.Timers.ElapsedEventArgs e)
{
this._counter++;
if (this._counter % task1Interval == 0)
{
task1();
}
if (this._counter % task2Interval == 0)
{
task2();
}
if (this._counter % task3Interval == 0)
{
task3();
}
}
private void task1()
{
Console.WriteLine("task1 started");
}
private void task2()
{
Console.WriteLine("task2 started");
}
private void task3()
{
Console.WriteLine("task3 started");
}
}
Так что это ваша проблема? – Alexander