定时器使用

server/2024/9/25 19:14:57/

最近工作中遇到了一个场景,需要定时请求后台数据并更新到界面上,在C#中,有三种定时器:
1.System.Timers.Timer
2.System.Threading.Timer
3.System.Windows.Threading.DispatcherTimer
1,2两种方式差不多,都是用于后台定时任务,不涉及UI更新,我就是用了第二种,然后一段时间后导致cpu占满了,后来发先如果要在定时器中更新UI必须使用第三种方式,该方式可以在UI线程上触发事件,可以直接更新UI。

using System;
using System.Windows;
using System.Windows.Threading;namespace DispatcherTimerExample
{public partial class MainWindow : Window{private DispatcherTimer timer;public MainWindow(){InitializeComponent();// 创建 DispatcherTimer 实例timer = new DispatcherTimer();// 设置定时器间隔为1秒timer.Interval = TimeSpan.FromSeconds(1);// 绑定 Tick 事件处理程序timer.Tick += Timer_Tick;}private void Timer_Tick(object sender, EventArgs e){//更新UI}private void startButton_Click(object sender, RoutedEventArgs e){// 启动定时器timer.Start();}private void stopButton_Click(object sender, RoutedEventArgs e){// 停止定时器timer.Stop();}}
}

http://www.ppmy.cn/server/17412.html

相关文章

了解监控易(37):凭证管理

在复杂的IT环境中,设备接入与信息修改是运维人员经常面临的挑战。为确保这些操作既快速又安全,监控易提供了强大的凭证管理功能。这一功能通过采用凭证模式,使得设备的添加与维护变得更为便捷,同时支持批量接入与修改设备信息&…

Java后台开发的前置说明

1.知识点逻辑 一个部分 都是先挑重点知识点讲解 然后根据这些重点知识点去完成一个项目的开发 然后在到返回来解决这个部分其他细枝末节的知识点 2.软件开发的分工 我们大致可以将软件开发分成四块: 1.前端开发(比如开发电脑中的京东 htmlcssjavascript) 2.移动开…

部署之缓存问题

html缓存 新增以下内容 <meta http-equiv"pragram" content"no-cache"><meta http-equiv"cache-control" content"no-cache, no-store, must-revalidate"><meta http-equiv"expires" content"0"&g…

135. 分发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并返回需要准备的…

使用新版ESLint,搭配Prettier使用的配置方式

概述 ESLint重大更新(9.0.0版本)后,将不再支持非扁平化配置文件,并且移除了与Prettier冲突的规则,也就是说与Prettier搭配使用,不再需要使用插件“eslint-config-prettier”来处理冲突问题。 注:使用新版的前提条件是Node.js版本必须是18.18.0、20.9.0,或者是>=21.1…

【树莓派4B】如何点亮树莓派的LED灯

在之前一系列文章中&#xff0c;使用python、行人入侵检测&#xff0c;确没有使用树莓派的硬件。控制引脚进行输出&#xff1a; 如何写python点亮led灯闪烁&#xff0c;我灯接在gpio13,GPIO19,gpio26。我都想闪烁。 你可以使用Python的GPIO库来控制树莓派上的LED灯。首先&…

前端入门:HTML(列表和边框案例)

1.列表知识&#xff1a; list-style-position有两个值&#xff0c;分别是inside&#xff0c;outside&#xff0c;分别表示在标签里面和在标签外面。 2.案例&#xff1a; 源代码&#xff1a; html: <body> <div class"bigBox"> <div>在线解答问题…

前端Vue2项目搭建过程

一.准备工作 1.可以上网找一些设计稿寻找思路开发页面界面布局 站酷设计网站&#xff1a;站酷ZCOOL-设计师互动平台-打开站酷&#xff0c;发现更好的设计&#xff01; 花瓣网&#xff1a;花瓣网 - 陪你做生活的设计师&#xff08;创意灵感天堂&#xff0c;搜索、发现设计灵感…