问题标签 [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.
asp.net - 如何在asp.net中设置定时器
我有一个页面,当某些操作出错时,我想启动计时器,等待 30 秒,停止计时器并重试操作。每次计时器启动时,我都需要通过更改某些标签的文本来通知用户。
我该怎么做?
java - Java Timer vs ExecutorService?
我有代码,我使用java.util.Timer
. 我环顾四周,看到ExecutorService
可以做同样的事情。所以这里的这个问题,你有没有使用Timer
和ExecutorService
安排任务,一个使用比另一个有什么好处?
还想检查是否有人使用过该Timer
课程并遇到ExecutorService
为他们解决的任何问题。
c# - 在 C# 中使用计时器
我正在尝试在 c# 中使表单在 x 时间内不可见。有任何想法吗?
谢谢,乔恩
c# - C#为什么定时器频率非常关闭?
两者都以System.Timers.Timer
与System.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
的,因此每个事件都在空闲线程上触发。
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 仍然是更好的选择,或者新的并发框架中是否有相关的类来替代它?
java - 间隔运行 Java 线程
我有一个需要每 10 秒执行一次的线程。此线程包含对另一台服务器上的数据库的多次调用 (12 - 15)。此外,它还访问大约 3 个文件。因此,会有相当多的 IO 和网络开销。
执行上述操作的最佳策略是什么?
一种方法是使用 sleep 方法和 while 循环,但这是一个糟糕的设计。
在这种情况下,类似于 Timer 的类会有所帮助吗?另外,创建多个线程(一个用于 IO,一个用于 JDBC)而不是让它们在一个线程中运行会更好吗?
c# - 计时器不会“循环”
好吧,这就是交易。我正在尝试制作一个 GUI 应用程序但没有 GUI 的应用程序。所以当应用程序启动时,它有一个带有登录屏幕的小表单(我已经完成了这部分)。
这是表单运行的代码,main()
但一旦关闭,我就将其处理掉。
因此,正如您在表单关闭后所看到的那样,如果有人登录,则 main 会继续运行。如果您仔细观察,就会Flow
发现创建的类有一个实例。
这是一个非常短的课程,我们开始:
如您所见,我确实启动了计时器。但是由于它使用System.Threading.Timer
(因为我在某处读到它Form.Timer
确实不合适)它在线程池上运行(根据 MSDN),但是当这种情况发生时,主窗体现在已经退出,Main()
因此程序关闭。
我可能的解决方案是什么?该计时器将每 10 分钟运行一次(抓取进程)。关闭 GUI 后,我计划制作一个系统图标托盘,用户可以使用它来关闭程序。
c# - 在 C# 中运行异步操作。- 基本的。
考虑以下代码段:
如您所见,FLOW 类非常简单。它只有一个正在运行的 Threading.Timer。因此,在 UI 线程上,我必须调用 WaitHandle.WaitOne() 方法,否则 UI 线程完成并因此结束应用程序..
我的目标:由于没有 GUI,我想创建一个通知图标。它可以工作,一切正常,除了我无法点击它并且它没有响应,这是因为它是在 UI 线程上创建的。我不能把它放在流类中,因为流类也在 UI 线程上(流类中的计时器在后台线程中)。
那么如何在 Flow 类中运行计时器时让我的 notifyicon 保持响应?我认为 waithandle 是我的解决方案,但由于它是一种阻塞方法,所以它不起作用。
还有其他想法/解决方案吗?
编辑:对 Rich 的回答的回应: Flow 类在后台线程上,一切都按照它应该的方式运行。但是,如果我不在 UI 线程中添加等待句柄,则 main() 在 UI 线程上完成,因此终止整个程序。(即使在后台线程上启用了计时器)。是否有另一种解决方案来等待处理?因为我必须把它留给 Flow 类来做它的事情。如果我把它拿出来,程序就会结束,如果我把它留在里面会阻塞 UI 线程,因此我的 notifyicon 不起作用。
asp.net - 如何在 System.Web.UI.Timer OnTick 之前运行 JavaScript?
我需要一个客户端脚本来确认 Timer 的 OnTick 事件可以继续。
如何在 Timer1 回发发生之前调用CanContinue() ?
如果用户选择取消,我如何取消回发?
注意:有些读者可能会对每 x 分钟显示一次模态确认有疑问。我同意这不利于可用性,但我无法更改设计。
更新:毕竟我决定不使用计时器。有关替代解决方案的详细信息,请参阅此帖子。
jakarta-ee - 如何在 glassfish 中触发计时器触发器?
我们的功能测试用例需要一些一致性。我们目前能做的最好的事情就是在产品中的 Java EE 计时器应该被触发之前等待一个估计的时间。如果测试用例能够以编程方式(可能使用 JMX)触发计时器,那将更加可预测。
如何才能做到这一点?我们可以使用 Glassfish 计时器工具的 JMX 接口吗?