在 Visual Studio .NET 和 .NET Framework 中有四种计时器控件:

(前边三种转载自 http://blog.csdn.net/aptentity/article/details/5771179

第一:线程计时器 System.Threading.Timer

线程计时器是一种简单的、轻量级计时器,使用回调方法而不是事件,并由线程池线程提供。

第二:Windows 计时器 System.Windows.Forms.Timer 

基于 Windows 的标准计时器,位于“工具箱”的“Windows 窗体”选项卡上,以及仅可在编程时使用的线程计时器。

基于 Windows 的计时器从 Visual Basic 的 1.0 版起就存在于该产品中并且基本上保持不变。该计时器已经为在 Windows 窗体应用程序中使用而进行了优化。

Windows 计时器是为单线程环境设计的,其中,UI线程用于执行处理。Windows 计时器的精度限定为55 毫秒。这些传统计时器要求用户代码有一个可用的 UI 消息泵,而且总是在同一个线程中操作,或者将调用封送到另一个线程。对于 COM 组件来说,这样会降低性能。

通俗的说使用这个计时器执行方法的时候画面会卡住,而另外2个你不需要为了执行效率,为其执行的方法开线程。

第三:服务器计时器 System.Timers.Timer

基于服务器的计时器,位于“工具箱”的“组件”选项卡上;

基于服务器的计时器是传统的计时器为了在服务器环境上运行而优化后的更新版本。

基于服务器的计时器是为在多线程环境下与辅助线程一起使用而设计的。由于它们使用不同的体系结构,因此基于服务器的计时器可能比 Windows 计时器精确得多。服务器计时器可以在线程之间移动来处理引发的事件。

服务器Timer很明显是另开一个线程计时,每一个Timer是一个独立的线程,独立的计时,所以精度非常高,并且Elapsed事件是在独立的线程上触发的。

第四:System.Windows.Threading.DispatcherTimer(WPF timer);

这个是wpf 到定时器,没用过,可以参考这个资料:http://blog.csdn.net/hugoandpig/article/details/7743452

最新文章

  1. Autofac - 生命周期
  2. C标准头文件<math.h>
  3. 安裝 14.04.1 Ubuntu 到 Lenovo thinkpad t460p
  4. laravel select 传参
  5. golang exec Command
  6. C#实现ByteBuffer类 .
  7. Enhanced RCP: How views can communicate – The e4 way | Tomsondev Blog
  8. Kattis - Aaah!
  9. python中重要的模块--asyncio
  10. shiro权限框架(三)
  11. [LeetCode] Ambiguous Coordinates 模糊的坐标
  12. 如何在Rails6内通过Webpacker使用JavaScript; flatpicker日期时间组件选择器
  13. PLSQL_day01
  14. PHP学习-类
  15. Python Kivy 中文教程:安装(Windows)
  16. Centos 6.4 安装mysql-5.6.14-linux-glibc2.5-i686.tar.gz
  17. ansible软件2
  18. 遇到问题----linux-----linux 打开文件数 too many open files 解决方法
  19. 【COGS】2287:[HZOI 2015]疯狂的机器人 FFT+卡特兰数+排列组合
  20. angular学习笔记(十四)-$watch(3)

热门文章

  1. todoList.html
  2. @ConditionalOnProperty注解
  3. Scrapy 之settings配置
  4. github实用的搜索小技巧
  5. ArcGIS Engine连接ArcSDE SQL Server(获得所有SDE图层)
  6. 学习笔记43_T4模板
  7. mpvue+小程序云开发,纯前端实现婚礼邀请函(相册小程序)
  8. 【algo&ds】2.线性表
  9. 【algo&ds】【吐血整理】4.树和二叉树、完全二叉树、满二叉树、二叉查找树、平衡二叉树、堆、哈夫曼树、B树、字典树、红黑树、跳表、散列表
  10. 通过ESP8266调节继电器时间