【发布时间】:2011-09-28 05:39:15
【问题描述】:
在我的应用程序中,我使用了System.Threading.Timer 的数量并将此计时器设置为每 1 秒触发一次。我的应用程序每 1 秒执行一次线程,但毫秒的执行是不同的。
在我的应用程序中,我使用了 OPC 服务器和 OPC 组。一个线程从 OPC 服务器读取数据(例如一个变量更改它的值,我想每 1 秒将更改值的这一时刻记录到我的应用程序中) 然后另一个读取此数据的线程每隔 1 秒从第一个线程读取此数据,第二个线程用于将数据存储到 MYSQL 数据库中。 在这个过程中,当我从第一个线程读取数据时,我将获得旧数据值,例如,第二次在 10:28:01.530 读取数据,然后我将获得第二次 10:28:00.260 的信息。所以我想管理这些线程,第一个线程以 000 毫秒工作,第二个线程以 500 毫秒工作。使用第一个线程在 000 秒更新数据,第二个线程在 500 毫秒读取数据。
我的输出如下:
10:28:32.875 10:28:33.390 10:28:34.875 …… 10:28:39.530 10:28:40.875但是,我想要以下结果:
10:28:32.000 10:28:33.000 10:28:34.000 …… 10:28:39.000 10:28:40.000如何设置计时器,以便在“000 毫秒”处执行回调?
【问题讨论】:
-
严格来说,这是不可能的。但是,您想要这样做一定是有原因的。你能扩展一下这个问题吗?
-
@ xixonia :查看我的编辑