C#中的计时器

来源:互联网 发布:淘宝卖眼药水上架技巧 编辑:程序博客网 时间:2024/05/22 14:49

C#有三种计时器

1.定义在System.Windows.Forms.Timer里

2.定义在System.Threading.Timer类里    

3.定义在System.Timers.Timer类里


首先明确一点,无论开几个窗口,c#至默认开始一个线程,该线程负责一切处理。也就是说,如果在某一个方法中返回时间长的话,就会出现界面卡。

第一种计时器最大的特点是单线程的。可以直接在工具箱中拖入界面。在这种情况下,每次定时器时间到,就会触发事件。由于这种情况下不新建线程,所以事件的执行要服从先后顺序,如果主线程需要响应的事件过多就会有不及时的问题。该种计时器只能作为窗体的成员。


第二种计时器相对于前者关键是使用了新线程。会启动新线程来执行回调函数。因为是新线程,所以该线程不能访问窗体中的控件,只能通过代理方式访问。这种定时器并不依赖与窗体。


第三种计时器相对于前者使用的是回调方法而不是事件。并由线程池线程提供支持。


0 0
原创粉丝点击