Может ли кто-нибудь помочь преобразовать / предоставить скелет того, как преобразовать приведенный ниже код, чтобы обе функции выполнялись одновременно, обе с отдельными таймерами.
public void Controller()
{
List<int> totRand = new List<int>();
do
{
Thread.Sleep(new TimeSpan(0,0,0,1));
totRand.Add(ActionA());
} while (true);
do
{
Thread.Sleep(new TimeSpan(0,0,0,30));
ActionB(totRand);
totRand = new List<int>();
} while (true);
}
public int ActionA()
{
Random r = new Random();
return r.Next();
}
public void ActionB(List<int> totRand)
{
int total = 0;
//total = add up all int's in totRand
Console.WriteLine(total / totRand.Count());
}
Очевидно, что вышеупомянутое никогда не сработает, но главное - один метод запускается каждую 1 секунду, добавляет некоторые данные в список.
Другое действие также выполняется с таймером, берет все, что может быть в этом списке, и что-то с ним делает, а затем очищает список. (не беспокоясь о том, что содержимое списка меняется, пока я это делаю). Я много читал учебников и примеров, но просто не могу понять, как мне поступить. Есть идеи / советы?