问题标签 [timer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9951 浏览

asp.net - 如何在asp.net中设置定时器

我有一个页面,当某些操作出错时,我想启动计时器,等待 30 秒,停止计时器并重试操作。每次计时器启动时,我都需要通过更改某些标签的文本来通知用户。

我该怎么做?

0 投票
7 回答
119033 浏览

java - Java Timer vs ExecutorService?

我有代码,我使用java.util.Timer. 我环顾四周,看到ExecutorService可以做同样的事情。所以这里的这个问题,你有没有使用TimerExecutorService安排任务,一个使用比另一个有什么好处?

还想检查是否有人使用过该Timer课程并遇到ExecutorService为他们解决的任何问题。

0 投票
4 回答
7603 浏览

c# - 在 C# 中使用计时器

我正在尝试在 c# 中使表单在 x 时间内不可见。有任何想法吗?

谢谢,乔恩

0 投票
10 回答
9198 浏览

c# - C#为什么定时器频率非常关闭?

两者都以System.Timers.TimerSystem.Threading.Timer请求的间隔相当大的间隔发射。例如:

产生一个每秒触发 16 次的计时器,而不是 20 次。

为了确保没有太长的事件处理程序的副作用,我编写了这个小测试程序:

输出如下所示:

要求:5 赫兹;实际:4,8 Hz
要求:10 Hz;实际:9,1 Hz
要求:15 Hz;实际:12,7 Hz
要求:20 Hz;实际:16 Hz
请求:30 Hz;实际:21,3 Hz
要求:50 Hz;实际:31,8 Hz
要求:75 Hz;实际:63,9 Hz
要求:100 Hz;实际:63,8 Hz
要求:200 Hz;实际:63,9 Hz
要求:500 Hz;实际:63,9 赫兹

实际频率与请求频率的偏差高达 36%。(而且显然不能超过 64 Hz。)鉴于微软推荐这个计时器是因为它的“更高的准确性” System.Windows.Forms.Timer,这让我感到困惑。

顺便说一句,这些不是随机偏差。它们每次都是相同的值。另一个计时器类的类似测试程序System.Threading.Timer显示了完全相同的结果。

在我的实际程序中,我需要每秒精确地收集 50 个样本的测量值。这还不需要实时系统。每秒获得 32 个样本而不是 50 个样本是非常令人沮丧的。

有任何想法吗?

@Chris:你是对的,间隔似乎都是 1/64 秒左右的整数倍。顺便说一句,在事件处理程序中添加 Thread.Sleep(...) 没有任何区别。考虑到使用线程池,这是有道理System.Threading.Timer的,因此每个事件都在空闲线程上触发。

0 投票
3 回答
2022 浏览

java - ExecutorService vs Swing Timer

我最近一直在阅读Filthy Rich Clients并注意到,虽然 Java 的版本是 6,但没有提到并发框架。所以,他们谈论 java.util.Timer 和 javax.swing.Timer 而不是 ExecutorService。

我在“ Java Timer vs ExecutorService ”这个问题中阅读了 ExecutorService 的优势,并决定使用后者而不是前者。但是这本书谈到了 javax.swing.Timer 以及它专门针对 Swing 开发的优势。

那么,这是否意味着,对于 Swing 开发(动画按钮等)来说,javax.swing.Timer 仍然是更好的选择,或者新的并发框架中是否有相关的类来替代它?

0 投票
3 回答
31871 浏览

java - 间隔运行 Java 线程

我有一个需要每 10 秒执行一次的线程。此线程包含对另一台服务器上的数据库的多次调用 (12 - 15)。此外,它还访问大约 3 个文件。因此,会有相当多的 IO 和网络开销。

执行上述操作的最佳策略是什么?

一种方法是使用 sleep 方法和 while 循环,但这是一个糟糕的设计。

在这种情况下,类似于 Timer 的类会有所帮助吗?另外,创建多个线程(一个用于 IO,一个用于 JDBC)而不是让它们在一个线程中运行会更好吗?

0 投票
3 回答
553 浏览

c# - 计时器不会“循环”

好吧,这就是交易。我正在尝试制作一个 GUI 应用程序但没有 GUI 的应用程序。所以当应用程序启动时,它有一个带有登录屏幕的小表单(我已经完成了这部分)。

这是表单运行的代码,main()但一旦关闭,我就将其处理掉。

因此,正如您在表单关闭后所看到的那样,如果有人登录,则 main 会继续运行。如果您仔细观察,就会Flow发现创建的类有一个实例。

这是一个非常短的课程,我们开始:

如您所见,我确实启动了计时器。但是由于它使用System.Threading.Timer(因为我在某处读到它Form.Timer确实不合适)它在线程池上运行(根据 MSDN),但是当这种情况发生时,主窗体现在已经退出,Main()因此程序关闭。

我可能的解决方案是什么?该计时器将每 10 分钟运行一次(抓取进程)。关闭 GUI 后,我计划制作一个系统图标托盘,用户可以使用它来关闭程序。

0 投票
4 回答
1152 浏览

c# - 在 C# 中运行异步操作。- 基本的。

考虑以下代码段:

如您所见,FLOW 类非常简单。它只有一个正在运行的 Threading.Timer。因此,在 UI 线程上,我必须调用 WaitHandle.WaitOne() 方法,否则 UI 线程完成并因此结束应用程序..

我的目标:由于没有 GUI,我想创建一个通知图标。它可以工作,一切正常,除了我无法点击它并且它没有响应,这是因为它是在 UI 线程上创建的。我不能把它放在流类中,因为流类也在 UI 线程上(流类中的计时器在后台线程中)。

那么如何在 Flow 类中运行计时器时让我的 notifyicon 保持响应?我认为 waithandle 是我的解决方案,但由于它是一种阻塞方法,所以它不起作用。

还有其他想法/解决方案吗?

编辑:对 Rich 的回答的回应: Flow 类在后台线程上,一切都按照它应该的方式运行。但是,如果我不在 UI 线程中添加等待句柄,则 main() 在 UI 线程上完成,因此终止整个程序。(即使在后台线程上启用了计时器)。是否有另一种解决方案来等待处理?因为我必须把它留给 Flow 类来做它的事情。如果我把它拿出来,程序就会结束,如果我把它留在里面会阻塞 UI 线程,因此我的 notifyicon 不起作用。

0 投票
2 回答
2312 浏览

asp.net - 如何在 System.Web.UI.Timer OnTick 之前运行 JavaScript?

我需要一个客户端脚本来确认 Timer 的 OnTick 事件可以继续。

如何在 Timer1 回发发生之前调用CanContinue() ?
如果用户选择取消,我如何取消回发?


注意:有些读者可能会对每 x 分钟显示一次模态确认有疑问。我同意这不利于可用性,但我无法更改设计。


更新:毕竟我决定不使用计时器。有关替代解决方案的详细信息,请参阅此帖子。

0 投票
1 回答
736 浏览

jakarta-ee - 如何在 glassfish 中触发计时器触发器?

我们的功能测试用例需要一些一致性。我们目前能做的最好的事情就是在产品中的 Java EE 计时器应该被触发之前等待一个估计的时间。如果测试用例能够以编程方式(可能使用 JMX)触发计时器,那将更加可预测。

如何才能做到这一点?我们可以使用 Glassfish 计时器工具的 JMX 接口吗?