Building a Timer in Your C# Console Application
This guide demonstrates how to integrate a timer into a C# console application using the System.Threading.Timer
class. This class simplifies the process of executing a method repeatedly at set intervals.
Implementation Example:
The following code shows how to create a Timer
object, defining its callback method, execution interval (in milliseconds), and an optional state object:
<code class="language-csharp">using System; using System.Threading; public class TimerExample { private Timer _timer; public void Main(string[] args) { // Creates a timer that calls TimerCallback every 2 seconds (2000 milliseconds) _timer = new Timer(TimerCallback, null, 0, 2000); // Keeps the console application running until the user presses Enter Console.ReadLine(); } private void TimerCallback(object state) { // Actions to perform at each timer interval, e.g., updating data or displaying a message Console.WriteLine("Timer event triggered at: " + DateTime.Now); } }</code>
Optimizing with GC.KeepAlive()
In situations involving frequent loop execution, unnecessary resource consumption can occur. The GC.KeepAlive()
method helps optimize garbage collection, leading to improved memory management.
Enhanced Code:
This updated code incorporates GC.KeepAlive()
for better resource handling:
<code class="language-csharp">// ... previous code ... private static void TimerCallback(Object o) { GC.KeepAlive(o); // Prevents premature garbage collection of the 'o' object // ... rest of the TimerCallback method ... }</code>
These methods allow for efficient timer integration into your C# console application, enabling scheduled task execution at defined intervals.
The above is the detailed content of How to Implement a Timer in a C# Console Application?. For more information, please follow other related articles on the PHP Chinese website!