您的位置:首页 > 游戏 > 手游 > 免费网站加速器_苏州外贸网站制作公司_成都网络优化公司有哪些_百度推广运营这个工作好做吗

免费网站加速器_苏州外贸网站制作公司_成都网络优化公司有哪些_百度推广运营这个工作好做吗

2024/12/23 7:59:38 来源:https://blog.csdn.net/zxb11c/article/details/143972887  浏览:    关键词:免费网站加速器_苏州外贸网站制作公司_成都网络优化公司有哪些_百度推广运营这个工作好做吗
免费网站加速器_苏州外贸网站制作公司_成都网络优化公司有哪些_百度推广运营这个工作好做吗

在 C# 中,Timer 类可以用于在不同情况下定时执行代码。常见的 Timer 类有三种主要用法,分别由不同的命名空间提供:
System.Timers.Timer
System.Threading.Timer

System.Windows.Forms.Timer(主要用于 Windows 窗体应用程序)

1,System.Timers.Timer System.Timers.Timer 提供了基础定时功能,可以在控制台应用程序或后台服务中使用。

using System;
using System.Timers;class Program
{private static Timer aTimer;static void Main(){// 创建一个定时器,间隔设置为2000毫秒(2秒)aTimer = new Timer(2000);// 绑定Elapsed事件的处理方法aTimer.Elapsed += OnTimedEvent;// 设置定时器是否重复aTimer.AutoReset = true;// 启动定时器aTimer.Enabled = true;Console.WriteLine("按 Enter 键退出程序...");Console.ReadLine();}private static void OnTimedEvent(Object source, ElapsedEventArgs e){Console.WriteLine("The Elapsed event was raised at {0:HH:mm:ss.fff}", e.SignalTime);}
}

2. System.Threading.Timer System.Threading.Timer 提供了一个更低级别的定时器,可以处理多线程环境中的回调。

using System;
using System.Threading;class Program
{private static Timer timer;static void Main(){// 创建一个定时器,间隔设置为2000毫秒(2秒),回调方法是ShowTimeEventtimer = new Timer(ShowTimeEvent, null, 0, 2000);Console.WriteLine("按 Enter 键退出程序...");Console.ReadLine();// 释放定时器资源timer.Dispose();}private static void ShowTimeEvent(Object state){Console.WriteLine("The Timer callback was raised at {0:HH:mm:ss.fff}", DateTime.Now);}
}

3. System.Windows.Forms.Timer System.Windows.Forms.Timer 是专为 Windows 窗体应用程序设计的,它的回调是在 Windows 消息循环中处理的,因此更适合更新用户界面。

using System;
using System.Windows.Forms;public class TimerExample : Form
{private Timer timer;public TimerExample(){// 创建一个定时器,间隔设置为2000毫秒(2秒)timer = new Timer();timer.Interval = 2000;// 绑定Tick事件的处理方法timer.Tick += new EventHandler(OnTimedEvent);// 启动定时器timer.Start();}private void OnTimedEvent(Object myObject, EventArgs myEventArgs){// 更新用户界面this.Text = "Updated at " + DateTime.Now.ToString();}[STAThread]static void Main(){Application.Run(new TimerExample());}
}

注意事项

**System.Timers.Timer 和 System.Threading.Timer 的回调方法在不同的线程上执行,因此在访问共享资源时需要小心处理线程同步问题。

System.Windows.Forms.Timer 的回调方法在同一个线程上执行(通常是 UI 线程),因此可以直接更新 UI 元素而无需担心线程冲突。

根据具体应用场景选择合适的 Timer 实现,例如在后台服务中更推荐使用 System.Timers.Timer 或 System.Threading.Timer,而在 Windows 窗体应用程序中则更适合使用 System.Windows.Forms.Timer。**

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com