素材网站php程序源码,网络营销策略有哪些,揭阳自助建站,能自己做效果图的网站在 WPF 调试中#xff0c;对于 DispatcherTimer 定时器的执行#xff0c;没有直观的调试方法。本文来告诉大家如何在 WPF 中调试当前主线程有多少个 DispatcherTimer 在运行
在 WPF 中#xff0c;如果有 DispatcherTimer 定时器在执行#xff0c;将会影响到主线程的执行对于 DispatcherTimer 定时器的执行没有直观的调试方法。本文来告诉大家如何在 WPF 中调试当前主线程有多少个 DispatcherTimer 在运行
在 WPF 中如果有 DispatcherTimer 定时器在执行将会影响到主线程的执行将会让主线程诡异忙碌。或者有 DispatcherTimer 定时器忘记订阅 Tick 同时也忘记设置时间将会不断消耗主线程资源。在遇到没有任何的交互时此时出现的主线程卡的问题可以优先尝试了解是否 DispatcherTime 定时器的问题
如以下代码在界面创建一个按钮点击按钮时将会创建和运行 DispatcherTime 定时器 Grid Button Margin10,10,10,10 HorizontalAlignmentLeft VerticalAlignmentTop Content按钮 ClickButton_OnClick / /Grid 在 Button_OnClick 加上创建和运行 DispatcherTimer 定时器的代码 private void Button_OnClick(object sender, RoutedEventArgs e) { var dispatcherTimer new DispatcherTimer() { Interval TimeSpan.FromSeconds(1) }; dispatcherTimer.Start(); } 假定需要调试在进入 Button_OnClick 方法当前主线程有多少 DispatcherTimer 定时器在运行。可以在此方法上添加断点如下图
进入 VisualStudio 的监视界面输入 System.Windows.Threading.Dispatcher.CurrentDispatcher._timers 即可了解当前主线程有多少个 DispatcherTime 定时器在运行。根据 Dispatcher.CurrentDispatcher 的定义此 CurrentDispatcher 是 ThreadStatic 线程静态因此以上调试断点必须落在主线程执行的代码 ———————————————— 版权声明本文为CSDN博主「lindexi_gd」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/lindexi_gd/article/details/117745865