.Net 6中的PeriodTimer介绍

 更新时间:2022年01月09日 09:21:01   作者:TianFang  
这篇文章主要介绍了.Net 6中的PeriodTimer,.net 6中新增了一个异步计时器PeroidTimer,相对普通Timer的回调, 它的模型更简单,下面一起来看看具体详情吧

.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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#中string与byte[]的转换帮助类-.NET教程,C#语言

    C#中string与byte[]的转换帮助类-.NET教程,C#语言

    在写c#程序时,string和byte[]之间的转换比较烦,在移植一些老程序时感觉很不好。我在c#中使用des和tripledes时移植一块老代码时也遇到了同样的情况。为了下次不为同样的事情烦恼,就写了下面的帮助类。
    2008-03-03
  • .Net Core 之AutoFac的使用

    .Net Core 之AutoFac的使用

    本文简单介绍了AutoFac的基本使用以及在asp .net core中的应用,文中通过代码讲解相关知识非常的详细,对大家的学习或工作都很有帮助,感兴趣的小伙伴可以参考一下这篇文章
    2021-09-09
  • 一个经典的ADO.NET入门例子

    一个经典的ADO.NET入门例子

    一个经典的ADO.NET入门例子...
    2006-07-07
  • .NET6新特性之 隐式命名空间引用

    .NET6新特性之 隐式命名空间引用

    本文给大家分享的是 .NET6特新 隐式命名空间引用,如果我们要在新加一个命名空间的引用,可以在项目文件中配置增加<Using Include="命名空间"/>,如果需要移除一个命名空间可以这么做<Using Remove="命名空间"/>,下面来看看文章详细介绍内容吧,需要的朋友可以参考一下
    2021-11-11
  • ASP.NET Core 依赖注入详细

    ASP.NET Core 依赖注入详细

    这篇文章主要介绍ASP.NET Core 依赖注入,ASP.NET Core 应用在启动过程中会依赖各种组件提供服务,这些组件会以接口的形式标准化,这些组件就是我们所说的服务,ASP.NET Core框架建立在一个底层的依赖注入框架之上,它使用容器提供所需的服务,下面我们就来详细了解一下
    2021-10-10
  • Oracle中TO_DATE格式介绍

    Oracle中TO_DATE格式介绍

    Oracle中TO_DATE格式介绍;可供需求的朋友参考
    2012-11-11
  • 用CSS实现图片倾斜 只支持IE

    用CSS实现图片倾斜 只支持IE

    用CSS实现图片倾斜 只支持IE...
    2007-11-11
  • ASP遗留的二十大积习

    ASP遗留的二十大积习

    ASP遗留的二十大积习...
    2006-07-07
  • ASP.NET Core MVC 依赖注入View与Controller

    ASP.NET Core MVC 依赖注入View与Controller

    本文重点给大家介绍的是ASP.NET Core MVC 之依赖注入 View 和ASP.NET Core MVC 之依赖注入 Controller的相关资料,需要的小伙伴可以参考下面文章具体内容
    2021-09-09
  • 从零开始学ASP.NET-基础篇

    从零开始学ASP.NET-基础篇

    从零开始学ASP.NET-基础篇...
    2006-07-07

最新评论