Questions tagged «timer»

计时器是一个组件,具有按用户配置的规则间隔触发用户定义的动作的功能。

5
C#计时器是否在单独的线程上运行?
System.Timers.Timer是否在与创建它的线程不同的线程上运行? 可以说我有一个带有计时器的类,该计时器每5秒触发一次。当计时器触发时,在经过的方法中,某些对象被修改。可以说,修改该对象需要很长时间,例如10秒。在这种情况下,是否可能会遇到线程冲突?

4
如何使用QueryPerformanceCounter?
我最近决定将Timer类的使用时间从毫秒更改为微秒,经过研究后,我认为QueryPerformanceCounter可能是我最安全的选择。(关于Boost::Posix它可能无法在Win32 API 上运行的警告让我有点失望)。但是,我不太确定如何实现它。 我正在做的是调用GetTicks()我正在使用的任何esque函数,并将其分配给Timer的startingTicks变量。然后要找到经过的时间,我只需从中减去函数的返回值startingTicks,并在重置计时器时再次调用该函数并为其分配startingTicks。不幸的是,从代码中我已经看到它并不像调用那样简单QueryPerformanceCounter(),而且我不确定应该作为参数传递什么。
97 c++  windows  timer 

10
gettimeofday()是否保证具有微秒级的分辨率?
我正在将一个最初为Win32 API编写的游戏移植到Linux(很好,是将Win32端口的OS X端口移植到Linux)。 QueryPerformanceCounter自程序启动以来,我已经通过提供uSeconds来实现: BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount) { gettimeofday(&currentTimeVal, NULL); performanceCount->QuadPart = (currentTimeVal.tv_sec - startTimeVal.tv_sec); performanceCount->QuadPart *= (1000 * 1000); performanceCount->QuadPart += (currentTimeVal.tv_usec - startTimeVal.tv_usec); return true; } 再加上QueryPerformanceFrequency()恒定的1000000作为频率,可以在我的机器上很好地工作,并为我提供了一个uSeconds自程序启动以来包含的64位变量。 这是便携式的吗?我不想发现以某种方式或类似方式编译内核时,它的工作原理有所不同。我可以将其移植到Linux以外的其他软件上,这很好。

4
std :: system_clock和std :: steady_clock之间的区别?
std::system_clock和之间有什么区别std::steady_clock?(一个示例示例说明不同的结果/行为将是很好的)。 如果我的目标是精确测量函数的执行时间(如基准),那么std::system_clock,std::steady_clock和之间的最佳选择是std::high_resolution_clock什么?
97 c++  c++11  timer  chrono 

4
如何从<chrono>中获取持续时间(以毫秒为单位)和浮点秒?
我正在尝试使用chrono库作为计时器和持续时间。 我希望能够有一个Duration frameStart;(从应用程序开始)和一个Duration frameDelta;(帧之间的时间) 我需要能够获得frameDelta持续时间(以毫秒为单位)和浮点秒。 如何使用新的c ++ 11&lt;chrono&gt;库执行此操作?我一直在努力并进行谷歌搜索(信息稀疏)。该代码是大量模板化的,需要特殊的强制类型转换和其他操作,我无法弄清楚如何正确使用此库。
94 c++  c++11  timer  chrono 

3
实施永无止境的任务的正确方法。(计时器与任务)
因此,只要应用程序正在运行或要求取消,我的应用程序就需要几乎连续地执行操作(每次运行之间有10秒左右的暂停)。它需要做的工作可能要花费30秒。 最好使用System.Timers.Timer并使用AutoReset确保在上一个“刻度”完成之前它不执行操作。 还是我应该在LongRunning模式下使用带有取消令牌的常规Task,并在其中执行常规的无限while循环,以调用之间用10秒的Thread.Sleep进行操作来执行操作?至于异步/等待模型,我不确定这里是否合适,因为我没有任何返回值。 CancellationTokenSource wtoken; Task task; void StopWork() { wtoken.Cancel(); try { task.Wait(); } catch(AggregateException) { } } void StartWork() { wtoken = new CancellationTokenSource(); task = Task.Factory.StartNew(() =&gt; { while (true) { wtoken.Token.ThrowIfCancellationRequested(); DoWork(); Thread.Sleep(10000); } }, wtoken, TaskCreationOptions.LongRunning); } void DoWork() { // Some work that takes …

6
如何在线程或计时器中访问HttpServerUtility.MapPath方法?
我System.Timers.Timer在Asp.Net应用程序中使用,并且我需要使用HttpServerUtility.MapPath似乎只能通过访问的方法HttpContext.Current.Server.MapPath。问题是,HttpContext.Current是null的,当Timer.Elapsed事件触发。 还有另一种方法来获取对HttpServerUtility对象的引用吗?我可以将其注入类的构造函数中。安全吗?我如何确定在当前请求结束时不会收集垃圾? 谢谢!

7
是否有基于任务的System.Threading.Timer替代品?
我是.Net 4.0的Task的新手,却找不到我认为是基于Task的计时器的替代品或实现,例如周期性Task。有这样的事吗? 更新 我提出了我认为是我需要的解决方案,该解决方案是将“计时器”功能包装在带有子任务的Task内,并全部利用CancellationToken并返回Task以便能够参与进一步的Task步骤。 public static Task StartPeriodicTask(Action action, int intervalInMilliseconds, int delayInMilliseconds, CancellationToken cancelToken) { Action wrapperAction = () =&gt; { if (cancelToken.IsCancellationRequested) { return; } action(); }; Action mainAction = () =&gt; { TaskCreationOptions attachedToParent = TaskCreationOptions.AttachedToParent; if (cancelToken.IsCancellationRequested) { return; } if (delayInMilliseconds &gt; 0) Thread.Sleep(delayInMilliseconds); while …

6
C语言中最好的计时方法?
对具有高分辨率和可移植性的代码段进行计时的最佳方法是什么? /* Time from here */ ProcessIntenseFunction(); /* to here. */ printf("Time taken %d seconds %d milliseconds", sec, msec); 是否有一个具有跨平台解决方案的标准库?
80 c  performance  timer  timing 

10
如何在Ruby中以毫秒为单位计时操作?
我想弄清楚一个特定函数使用了多少毫秒。因此,我看上去高低不一,但找不到找到以毫秒为单位精度的Ruby时间的方法。 你怎么做到这一点?在大多数编程语言中,它就像 start = now.milliseconds myfunction() end = now.milliseconds time = end - start
78 ruby  timer 

2
为什么.NET中有5个版本的Timer类?
.Net框架中为什么有五个计时器类,即以下类: System.Timers.Timer System.Threading.Timer System.Windows.Forms.Timer System.Web.UI.Timer System.Windows.Threading.DispatcherTimer 为什么Timer类有多个版本?它们之间有什么区别?
77 c#  .net  timer 


7
C#-如何停止计时器?
我知道这听起来很愚蠢,但是我已经尝试了一切来停止计时器,但是计时器不会停止。我正在开发游戏,如果有人可以告诉我如何停止计时器,我将不胜感激。
76 c#  .net  timer 

4
如何安排任务定期运行?
我正在尝试一些代码以实现预定任务,并提出了这些代码。 import java.util.*; class Task extends TimerTask { int count = 1; // run is a abstract method that defines task performed at scheduled time. public void run() { System.out.println(count+" : Mahendra Singh"); count++; } } class TaskScheduling { public static void main(String[] args) { Timer timer = new Timer(); …
76 java  timer  schedule 

7
可以在生产代码中使用秒表吗?
我需要一个准确的计时器,而DateTime.Now似乎不够准确。根据我阅读的说明,System.Diagnostics.Stopwatch似乎正是我想要的。 但是我有恐惧症。我担心在实际生产代码中使用System.Diagnostics中的任何内容。(我将它广泛用于与Asserts和PrintLns等一起进行调试,但从未用于生产方面。)我不仅在尝试使用计时器来对我的函数进行基准测试-我的应用程序需要一个实际的计时器。我在另一个论坛上读到System.Diagnostics.StopWatch仅用于基准测试,尽管没有给出理由,但不应在零售代码中使用。这是正确的,还是我(以及发布此建议的人)对System.Diagnostics过于封闭?即,可以在生产代码中使用System.Diagnostics.Stopwatch吗?谢谢阿德里安

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.