C# 3种Timer比较

来源:互联网 发布:淘宝卖假货怎么处罚 编辑:程序博客网 时间:2024/06/06 18:36

NET Framework里面提供了三种Timer:

  • System.Windows.Forms.Timer
  • System.Timers.Timer
  • System.Threading.Timer
MSDN中有这样一段说明:
System.Threading.Timer是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。 不建议将其用于 Windows 窗体,因为其回调不在用户界面线程上进行。System.Windows.Forms.Timer是用于 Windows 窗体的更佳选择。 要获取基于服务器的计时器功能,可以考虑使用System.Timers.Timer,它可以引发事件并具有其他功能。

关于System.Threading.Timer的一段代码: 
<span style="font-size:10px;">        System.Threading.Timer timer;        private void button1_Click(object sender, EventArgs e) //实例化---定时器开始        {            timer = new System.Threading.Timer(new TimerCallback(timer_Elapsed), null, 0, 1000);</span><span style="font-size:10px;">        }        void timer_Elapsed(object sender)        {            this.Invoke(new Action(() =>                {                    for (int i = 0; i < 10; i++)                    {                        label1.Text = DateTime.Now.ToString();                    }                }));        }</span>

       <span style="font-size:10px;">timer.Dispose();//释放Timer,结束定时</span>

http://blog.163.com/yijia_luo/blog/static/125388320126111319889/
0 0