问题标签 [system.timers.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 投票
2 回答
159 浏览

c# - Winservice - 计时器:并行执行相同的任务

我制作了一个 Window-Service,它在每个之后执行一个操作。我们已将计时器声明如下:

注意到了什么:如果PerformAction()需要比我更长的时间interval(由于 WCF 服务或服务器问题) ,则启动并执行一个新'instance'的。PerformAction所以彼此PerformAction运行两次(和)。parallel

这是什么原因?为什么之前的没有PerformAction被取消?方法是否PerformAction正在执行Async

我找到了一种解决方法,但我只是不明白这种行为......

0 投票
1 回答
346 浏览

c# - WPF 根据 UI 线程控制状态更新 NON UI 线程数据

我创建了一个 wpf 应用程序。其中有一个复选框和两个用于启动和停止计时器的按钮。单击启动按钮 System.Timers.Timer 后,aTimer 将开始运行并调用方法 checkboxstatus() 以获取复选框状态并将其显示给用户。即使选中了复选框,我也会收到消息为 False。我使用了以下代码

任何人建议.......

0 投票
2 回答
4103 浏览

c# - How should the clean-up of Timers declared inside the scope of a function be managed?

In the following code, a Timer is declared inside a function, where it also subscribes to the Elapsed event:

Once the function completes, the reference to the Timer is lost (I presume).

Does the Elapsed event get unregistered automatically as the object is destroyed, or if not, can the event be unregistered in the Elapsed event itself:

Would this approach still allow proper cleanup of the object, or should timers never be declared in the local scope of a function for this reason?

0 投票
1 回答
1113 浏览

c# - 如何防止 C# System.Timers 计时器事件阻塞后续事件?

我有一个使用 System.Timers 计时器的 C# 应用程序,它重复调用一个函数。问题是,根据工作负载,如果函数调用的处理达到一定的 CPU 使用率 (98-100%),任何后续事件都会被阻止。

有没有办法防止这种情况发生,以免事件被阻止?

例如,计时器的事件处理程序是一个执行动态代码的函数,它可能需要一些时间和资源来处理。在此类处理期间,布尔值设置为 true,这会导致任何后续事件调用写入日志文件。但是,一旦事件的处理达到高 CPU 使用率,其他事件将不会写入日志文件。

0 投票
1 回答
4472 浏览

c# - Windows 服务异常处理和计时器

我对 System.Timers.Timer 有疑问。确切地说,它不会抛出任何异常。这是我的代码:

因此,在我的事件日志中,我可以找到“FakeExceptionForTestPurposeOnly:它将被记录!” 但它是唯一的!

毕竟,更糟糕的是它仍在运行的服务。这怎么可能?

请注意我已经解决了这个问题,在这种情况下,计时器的使用不是强制性的。System.Threading.Thread 做到了这一点,并作为一个发条工作。我只是好奇我猜...

所以问题是:为什么在 MyTimer_Elapsed() "CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)" 中的任何 UnhandledExceptions 发生期间永远不会被触发?

任何帮助,建议,意见将不胜感激

0 投票
1 回答
86 浏览

c# - 在定时器定时器 Elapsedevent 中调用方法

我想知道当我们在经过的计时器内调用方法时是否总是需要放置 lock 关键字以实现该方法的线程安全。

我有一个不使用任何共享变量并在 Elapsedevent 内部调用的代码。我是否需要锁定它,否则会很好,因为线程有自己的堆栈。

这是我的 Elapsedevent 代码,

0 投票
0 回答
72 浏览

c# - 保存 .txt 所需的时间?

我目前编写了一个程序,其中包含一个监视网络路径的 FileSystemWatcher。

这些文件都是 .txt 的。大多数文件在 200k 到 3 MB 之间,因为如果将文件直接保存到监视文件夹中,而不是被复制,我会收到错误,我正在根据这个答案构建一个计时器:

FileSystemWatcher 在文件保存之前触发 - 你如何“暂停”这个过程?

现在房间里有一个问题,我需要非常快地处理这些事件,所以我真的应该使用用户提到的 1000 毫秒还是更低的值可以?更具体地说:我应该选择的最小值是多少,一方面要快,另一方面要保存?

也许对我的问题有更好的解决方案?

€:我现在选择使用https://stackoverflow.com/a/3822355/3664953作为解决方案。因为有可能我必须一次处理几个文件,所以我选择在 TPL 中使用它。我在活动中使用的代码:

我用来不会因为太快而遇到异常的代码:

目前我遇到的唯一问题是,如果创建/复制了 100 个文件,它会变得非常慢,这会导致我的 MSSQL 稍后返回超时。但这不是我必须处理的问题:)

Ty 为我指明了正确的方向 Neolisk。

0 投票
1 回答
88 浏览

c# - Timers.Timer 中静态 List<> 的内容不反映其他方法

我目前有一个自定义对象的静态列表(但我也使用 int 列表进行了测试)。我正在用 2 种方法修改此列表:

  1. Button_Click 事件
  2. 每 5 分钟经过的 System.Timers.Timer

问题在于,当应用程序开始并且独立时,这两种方法的 List 似乎都被初始化了。这意味着当我向#1 添加一个元素时,它不会反映在#2 中。我猜这是因为 Timers.Timer 是在单独的线程上启动的?

在这种情况下,我也尝试过放置一个原始 int 。在这种情况下,两者的数字都会发生变化并相互反映。问题是因为它是一个动态的对象列表吗?

你会建议我做什么?

谢谢!

抱歉没有早点发布代码!我尝试了锁定建议,但无济于事。我以前从未使用过它,所以如果我没有正确使用它,请告诉我。

0 投票
1 回答
507 浏览

vb.net - 为什么我从后台工作人员调用的委托在主线程中运行

我正在编写一个程序,它允许我运行许多不同的硬件测试例程。

这些例程可能非常耗时,持续长达 30 分钟。在此期间,我必须控制一系列测试设备来设置条件并进行测量。

我在想使用后台工作人员来执行任务是理想的,并允许 UI 保持响应。这很有效,直到其中一个例程要求我每 1.5 秒进行一次测量。我正在使用系统计时器来触发这些事件。计时器是在后台工作程序的 doWork 子程序中创建和启动的,但是,我发现委托正在主(UI)线程中运行,而不是我想的那样在后台工作线程中运行。

难道我做错了什么?我附上了具有相同结构的简化程序的主要部分。

0 投票
0 回答
707 浏览

vb.net - 定时器在 Windows 服务中的某个时间后停止工作

我有一个每分钟运行一次并执行一些 DB 和 IO 操作的 Windows 服务。

一切正常,但我观察到一段时间后服务不起作用。

它显示已开始,但没有任何反应。

1)这可以是GC收集的计时器吗?如果是,那么我的代码有什么问题。

2) 我在onstart 和onstop 中使用了timer.enable,我应该使用timer.start 和timer.stop。

3)如果我想使用 Threading.Timer 那么我需要在以下代码中进行哪些更改。

任何帮助将不胜感激