c# - 将 Timer 类从 java 转换为 c# : scheduling tasks

标签 c# java scheduling

我正在将应用程序从 Java 移植到 C#,但遇到了与 java.util.TimerSystem.Threading.Timer 之间的不同行为和功能相关的问题。 事实上,在 Timer 类的 Java 版本中,有一个用于调度任务的功能(在原始代码中使用),而 .NET 版本中没有该功能,可以在以下位置调度一个任务(通过委托(delegate)函数):一次。

有没有解决方案,甚至是一个小的类集来实现该功能?

我注意到存在多个调度库(例如 Quartz),但我更喜欢一个能够最大限度地减少要使用的代码量的解决方案。

谢谢大家! :)

最佳答案

您可以使用任何计时器类。对于每个计划任务,创建一个新的计时器类,然后将 Interval 属性设置为 (ScheduledTime - DateTime.Now).TotalMilliseconds 并设置 AutoReset> 属性设置为 false(或者在 Tick 事件的代码隐藏中将 Enabeld 属性设置为 false)。这将在指定的 ScheduledTime 执行一次您的代码。

关于c# - 将 Timer 类从 java 转换为 c# : scheduling tasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288055/

相关文章:

c# - 如何将枚举转换为 C# 中的列表?

C#消息框,变量用法

java - 使用 EJB 计时器的 WebSphere 中的 Bean 事务超时

java - 此 jar 包含其签署者证书将在六个月内过期的条目

google-bigquery - 安排查询以在 BigQuery 的项目之间复制数据集中的数据

r - 在 R 中每小时获取在线数据

C#:检查是否在控制台中按下了任何键

c# - 如何检测 app.config 文件中的值语法错误?

java - 如何在操作时应用条件线程安全?

c - 在c中首先调度最短的作业