Как добавить таймер в консольное приложение C#
Используйте класс System.Threading.Timer.
System.Windows.Forms.Timer .cs-file предназначен в первую очередь .cs-file для использования в одном console потоке, обычно в потоке пользовательского c#-language интерфейса Windows Forms.
На csharp ранних стадиях разработки timers платформы .NET также был c#-language добавлен класс System.Timers. Однако console обычно рекомендуется использовать console вместо этого класс System.Threading.Timer, поскольку c#.net в любом случае это всего c#.net лишь оболочка для System.Threading.Timer.
Также c# рекомендуется всегда использовать .cs-file статический (общий в VB.NET) System.Threading.Timer, если timer вы разрабатываете службу console Windows и вам требуется периодический console запуск таймера. Это позволит timer избежать преждевременной csharp сборки мусора вашего объекта visual-c# таймера.
Вот пример таймера c# в консольном приложении:
using System;
using System.Threading;
public static class Program
{
public static void Main()
{
Console.WriteLine("Main thread: starting a timer");
Timer t = new Timer(ComputeBoundOp, 5, 0, 2000);
Console.WriteLine("Main thread: Doing other work here...");
Thread.Sleep(10000); // Simulating other work (10 seconds)
t.Dispose(); // Cancel the timer now
}
// This method's signature must match the TimerCallback delegate
private static void ComputeBoundOp(Object state)
{
// This method is executed by a thread pool thread
Console.WriteLine("In ComputeBoundOp: state={0}", state);
Thread.Sleep(1000); // Simulates other work (1 second)
// When this method returns, the thread goes back
// to the pool and waits for another task
}
}
Из c#-language книги CLR Via C# Джеффа Рихтера. Кстати, эта timers книга описывает обоснование c#.net трех типов таймеров в главе console 23, настоятельно рекомендуется.
c#
console
timer
Как добавить таймер в консольное приложение C#
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.