您现在的位置是:网站首页> 编程资料编程资料
.Net 6中的PeriodTimer介绍_ASP.NET_
2023-05-24
468人已围观
简介 .Net 6中的PeriodTimer介绍_ASP.NET_
.net 6中新增了一个异步计时器PeroidTimer,相对普通Timer的回调, 它的模型更简单。
var second = TimeSpan.FromSeconds(3); using var timer = new PeriodicTimer(second); while (await timer.WaitForNextTickAsync()) { Console.WriteLine($"Tick {DateTime.Now}"); }关于WaitForNextTickAsync的处理策略,MSDN有点语焉不详,我以前面代码中这个周期为3s的Timer为例,
简单测了下:
1. 执行时间小于Timer周期:
将每个任务执行时间调整到2s,查看输出:
Tick 2022/1/7 11:30:58
Tick 2022/1/7 11:31:01
Tick 2022/1/7 11:31:04
2. 执行周期大于Timer周期:
将每个任务执行时间调整到5s,查看输出:
Tick 2022/1/7 11:33:08
Tick 2022/1/7 11:33:13
Tick 2022/1/7 11:33:18
Tick 2022/1/7 11:33:23
通过这两个例子,可以总结出:
- 当任务执行时间小于周期时,下次触发的时间是上次触发时间+周期
- 当任务执行时间大于周期时,下次立即触发
这个周期策略可以说时非常实用了,后续就用PeriodicTimer代替循环调用Task.Delay了。
到此这篇关于.Net 6中的PeriodTimer介绍的文章就介绍到这了,更多相关.Net 6中的PeriodTimer内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- .NET 6开发之实现缓存过程详解_实用技巧_
- .Net Core使用SignalR实现斗地主游戏_基础应用_
- .NET提取 Thread 中返回值详情_ASP.NET_
- ASP.NET Core实时库SignalR简介及使用_实用技巧_
- 在NET Core 中获取 CPU 使用率_ASP.NET_
- 修改 asp.net core 5 程序的默认端口号_ASP.NET_
- .NET微服务架构CI/CD镜像自动分发_实用技巧_
- 在 ASP.NET Core 中为 gRPC 服务添加全局异常处理_ASP.NET_
- .NET 6开发TodoList应用之实现API版本控制_实用技巧_
- .NET 6中System.Text.Json的七个特性_基础应用_
