【发布时间】:2013-10-17 01:22:57
【问题描述】:
我有一个应用程序,我有 6 个计时器。每个定时器都有不同的时间间隔,分别表示 1s、1s、3s、3s、3s、3s。要求 CPU 始终是 2% 到 3%。 由于我的 PC 的能力,在我的 PC 中很好。
如果PC的能力低,我相信它可能会导致应用程序。
有没有什么有效的方法来使用定时器?或其他运行背景? 原因,我使用计时器是因为这个计时器会在用户添加或编辑或删除产品记录时查询数据库(获取总金额),而不仅仅是产品记录任何记录。
Timer 1s 用于显示日期和时间标签 定时器1s是和datagriview交互,更新整列 而其他定时器则是从 MySql Server 获取数据。据我估计,最大记录数可以是 10 条记录。
谢谢
【问题讨论】:
-
许多计时器本身会导致应用程序崩溃吗?不会。您的应用程序会崩溃吗?如果是这样,错误是什么,那应该告诉您问题所在。一个问题是,如果您的 1s 计时器查询数据库并且查询时间超过一秒,那么您是否有适当的逻辑来处理它(如果需要)
-
只有3s定时器,会查询数据库。 (不提这个)。就目前而言,它还没有崩溃,但我认为它可能会崩溃或工作非常缓慢。
-
您能描述一下这些计时器正在运行什么进程吗?如果它在做某种报告,你可能不需要那么频繁地更新它。
-
只运行少量计时器不会使您的应用程序崩溃,但每 3 秒运行一次的长时间运行查询可能会在速度较慢的机器上或网络数据库设置不佳时出现性能问题。如果它确实崩溃了,它不是定时器,而是定时器事件中代码的实现。也许为数据库设置一个 nive DAL 将是一个更好的选择,你可以使用数据库触发器或 StateChanges 来更新 UI。
-
如果查询花费的时间超过计时器
interval会发生什么?你再运行一次吗?