StopWatch与计时器 – 何时使用

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

而且,我正面临着这样的困境:

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

例如,在Youtubevideo中( *我们不考虑我们可以跳转到vid的特定部分* ),我们会看到在屏幕左下角观看该video所花费的实际时间,但是通过导航选项菜单,我们可以加速或缩小video。

Youtube(2015)视频播放器控制栏

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

在此处输入图像描述

这就是我所追求的。 Youtubevideo如何衡量经过的时间以及它们可以改变时间间隔的事实。 那么,你认为我应该选择哪两个? 定时器还是秒表?

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

据我所知,主要区别是:

计时器

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

当我们需要在某个时间间隔内执行某些任务而不阻塞任何内容时,定时器是好的。

跑表

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

当我们需要观察时间并获得有关该方法花费多少经过的处理器滴答的其他信息时,秒表是很好的。

这已经包含在其他一些问题中,包括此处 。 基本上,你可以使用具有速度因子的秒表,然后结果就是你的“经过时间”。 更复杂的方法是实现Timer 并更改Interval属性 。