首页 > Windows开发 > 详细

浅谈(WPF)DispatcherTimer

时间:2019-01-19 23:56:39      阅读:611      评论:0      收藏:0      [点我收藏+]

当带着问题学习时,学习的目的才会更明确。本篇我们需要解决的问题有以下两个:
1.为什么要在WPF中使用DispatcherTimer?
2.Dispatcher的Interval和priority?
那就让我们进入正题吧。

问题一:为什么要在WPF中使用DispatcherTimer?

DispatcherTimer的工作是由Dispatcher负责调度的,并且Dispatcher在调度时会结合DispatcherTimer的优先级 (DispatcherPriority)来决定是否需要执行DispatcherTimer的任务(Tick)。所以在开发WPF程序时,如果代码中需要用到定时器,或者需要让一个任务在指定优先级的情况下工作,这时我们会考虑选择DispatcherTimer。

问题二:DispatcherTimer的Interval和priority?

priority并未以属性的方式暴露给外界,而是在构造时指定的。如果在构造时没有显式指定,则默认为 DispatcherPriority.Background。在问题一中我们提到过Dispatcher在调度任务时会结合DispatcherTimer的优先级来决定是否让其执行,那么即便当DispatcherTimer的工作时间间隔已到达,但Dispatcher的任务队列中有更高优先级的任务,此时也不会执行DispatcherTimer的任务,换句话说,只能保证在时间间隔(Interval)到达之前不会执行DispatcherTimer的任务,但不能保证时间间隔到达后就一定会执行DispatcherTimer的任务。

浅谈(WPF)DispatcherTimer

原文:https://www.cnblogs.com/tianlang358/p/10293726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!