C#有三种计时器
1.定义在System.Windows.Forms.Timer里
2.定义在System.Threading.Timer类里
3.定义在System.Timers.Timer类里
首先明确一点,无论开几个窗口,c#至默认开始一个线程,该线程负责一切处理。也就是说,如果在某一个方法中返回时间长的话,就会出现界面卡。
第一种计时器最大的特点是单线程的。可以直接在工具箱中拖入界面。在这种情况下,每次定时器时间到,就会触发事件。由于这种情况下不新建线程,所以事件的执行要服从先后顺序,如果主线程需要响应的事件过多就会有不及时的问题。该种计时器只能作为窗体的成员。
第二种计时器相对于前者关键是使用了新线程。会启动新线程来执行回调函数。因为是新线程,所以该线程不能访问窗体中的控件,只能通过代理方式访问。这种定时器并不依赖与窗体。
第三种计时器相对于前者使用的是回调方法而不是事件。并由线程池线程提供支持。
本文深入探讨C#中的三种计时器实现方式:单线程计时器、使用新线程的计时器及基于回调方法的计时器。详细阐述它们的工作原理、优缺点以及应用场景,帮助开发者根据具体需求选择合适的计时器类型。
213

被折叠的 条评论
为什么被折叠?



