c# - 秒表与计时器 - 何时使用

标签 c# time timer intervals stopwatch

请原谅我提出这个问题,但我似乎无法找到何时使用哪个的良好来源。如果您能用简单的术语解释它,将很高兴。

此外,我面临着这样的困境:

看,我正在编写一个简单的应用程序。我希望它显示耗时(hh:mm:ss 格式或其他格式)。而且,能够“加快”或“减慢”其时间间隔(即加快速度,以便实时的一分钟等于应用程序中的一小时)。

例如,在 Youtube 视频中(* 不考虑我们可以跳转到视频的特定部分 *),我们会在左下角看到观看该视频所花费的实际时间屏幕一角,但通过在选项菜单中导航,我们可以加快或降低视频速度。

Youtube (2015) video player control bar

我们实际上可以看到时间以与速度因子一致的方式更新(比如,如果你选择两倍的速度,下面的计时器更新速度比正常快两倍),你可以改变这个速度随时随地。

enter image description here

这就是我想要的。类似于 Youtube 视频如何测量耗时以及它们可以更改时间间隔的事实。那么,您认为我应该选择两者中的哪一个?计时器还是秒表?

顺便说一下,我只是在编写一个 Windows 窗体应用程序。我正在模拟一些东西,我希望用户能够在他或她希望的任何时候加速。尽管这可能很简单,但我希望实现一种适当的方法。

最佳答案

据我所知,主要区别是:

计时器

  1. Timer 只是一个简单的调度器,偶尔运行一些操作/方法
  2. 它在一个单独的线程中执行方法。这可以防止阻塞主线程

当我们需要在一定的时间间隔内执行某些任务而不阻塞任何东西时,定时器非常有用。

秒表

  1. 秒表默认在同一个线程上运行
  2. 它计算时间并返回 TimeSpan 结构,这在我们需要一些额外信息的情况下很有用

当我们需要看时间并获得一些额外的信息时,秒表是很好的,比如该方法需要多少处理器滴答等。

关于c# - 秒表与计时器 - 何时使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31293116/

相关文章:

c# - 如何在 Razor 页面 View 中显示角色列表?

c# - 如何找出窗口标题的字体大小?

python - 在python中执行linux时间命令

r - 将因子类型时间转换为分钟数

android - 播放音频时暂停计时器

java - 尝试创建进度条

python - Python-如何正确终止threading.Timer类?

c# - 访问odata/$metadata时Abp.AspNetCore.OData自引用循环

c# - 添加 .NET Framework DLL 作为对 Windows 应用商店应用程序的引用

c++ - 为什么同一次执行的时间不同?