Timer是在ThreadPool线程池中执行的,每当计时器到期时,就会创建一个线程来执行事件处理程序。这种实现方式可能会导致一些问题,例如计时器事件处理程序可能会与主线程竞争资源,从而导致性能问题。此外,如果计时器事件处理程序抛出未处理的异常,那么将导致应用程序崩溃。

相比之下,DispatcherTimer是基于UI线程的,它使用WPF和Silverlight的Dispatcher机制,计时器事件处理程序在UI线程上运行。这种实现方式确保了事件处理程序不会与主线程竞争资源,从而避免了性能问题,并且如果事件处理程序抛出未处理的异常,应用程序也不会崩溃。

因此,如果你的应用程序是WPF或Silverlight应用程序,并且你需要在UI线程上定时执行某个操作,那么你应该使用DispatcherTimer。如果你不需要在UI线程上执行操作,或者你正在编写一个控制台应用程序或Windows服务,那么你可以使用Timer。
总结一句话
DispatcherTimer  相对来说他是在UI线程上跑,且异常正常抛 不嘣,而timer 就不同了。

同时想想 winform 下的 Timer 控件又是什么呢?

最新文章

  1. UiAutomator自动化测试框架介绍
  2. POJ2553 The Bottom of a Graph(强连通分量+缩点)
  3. Java 反射机制学习资料
  4. php文件复制
  5. 然爸读书笔记(2014-10)----Bootsrap用户手册
  6. FreeBSD方式安装 MAC OSX
  7. Linux 安全
  8. 对编程语言的需求总结为四个:效率,灵活,抽象,生产率(C++玩的是前三个,Java和C#玩的是后两个)
  9. ASP.NET 开发框架汇总
  10. Struts2详解
  11. javascript获取整数随机数
  12. 删除Oracle用户及表空间
  13. MySQL 索引与查询优化
  14. ZooKeeper系列(4):ZooKeeper的配置文件详解
  15. 【BZOJ】3282: Tree(lct)
  16. snort学习笔记
  17. Modelsim se仿真Xilinx IPcore
  18. wikioi 1576 最长严格上升子序列
  19. 004-spring cache-声明性的基于XML的缓存
  20. Python笔记 #17# Pandas: Merge

热门文章

  1. CentOS7 RPM方式安装JDK
  2. Docker安装elasticsearch、kibana
  3. UEFI引导安装UBUNUT
  4. Spring(Ioc DI、Spring的继承-依赖)
  5. ORACLE数据库起不来
  6. 02Python输入输出
  7. Typescript 回调函数、事件侦听的类型定义与注释--拾人牙慧
  8. 比较多普勒超声与临床缓解标准对RA放射学进展的预测效能
  9. linux系统安装MySQL服务,详细图文教程
  10. pat乙级 1017 A除以B 模拟除法