Добрый день. В консольном приложении требуется реализовать очень простой таймер который бы в другом потоке через секунду вызывал нужный метод и результат метода выводился бы в консоль.
Попробовал сделать вот так.
class Program
{
static void Main(string[] args)
{
Test t = new Test();
Console.WriteLine("Before task");
Task.Run(() =>
{
while (true)
{
Console.WriteLine(t.GetTime());
Task.Delay(1000);
}
});
Console.WriteLine("After task");
Console.ReadKey();
}
}
public class Test
{
public string GetTime()
{
return DateTime.Now.ToLongTimeString();
}
}
Получаю вот такую картину.
Стоит поменять Task.Delay на Thread.Sleep то я получаю нужный мне результат.
Как правильно прерывать Task и добиться нужного результата. Заранее спасибо за ответы.