关于TIMER执行的问题(50)

  • 主题发起人 主题发起人 terry_zhou82
  • 开始时间 开始时间
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
我有个数据库,里面有一列关于时间间隔的记录,比如说,第一条是2分钟,第二条是3分钟,现在的问题是,我怎样在记录是每隔2分中里面,执行过程,每隔3分钟,在执行一个过程。是每条都加一个TIMER控件?
 
生成N条线程进行计数
 
加一个timer够了, 1 分钟的, 用个全局计数变量,字节就够, 如 miTimes,每次激活Timer时:miTimes:=(miTimes+1) mod 6;if (miTimes mod 2)=0 then 过程1;if (miTimes mod 3)=0 then 过程2;
 
to:foam我没看懂什么意思,比如说我每隔2分钟要做什么,每隔x分钟要做什么,而且要互不干扰。具体改怎么弄呢?
 
前后脚地执行,不知道算是不算干扰:)
 
用timer等于放弃
 
如果是我要同时进行呢?
 
加一个timer够了, 1 分钟的, 在每分钟都循环遍历一次所有的记录,并根据每条记录的时间间隔,来判断当前记录是否需要执行,当然,你数据库中需要增加一个字段,用来记录当前记录的最后一次执行时间,否则的确不是很好判断。
 
to terry_zhou82:你能把问题描述明确一点吗? "在记录是每隔2分中里面,执行过程,每隔3分钟,在执行一个过程",啥意思?每次都遍历数据库?添加记录时执行过程? 你想干嘛?
 
比如说我做个提醒的软件,新建了提醒记录。(即每间隔多少分钟干什么),然后写入数据库。运行,比如说我设置了N多条记录。想让程序按照数据库的记录,每隔多少时间,自动执行相应的操作。这么说听的懂了吧?
 
你可以看一下oracle的计划任务思想,其中它有2个属性,一个表示下次执行时间,还有一个表示执行周期。你这边也可以这样,系统中有2个字段,一个表示下次执行日期,还有一个表示执行周期,每分钟执行一次查询,查询当前时间>=下次执行日期的记录,然后分别执行对应的任务,执行完成后(或者前),更新下次执行时间字段值。应该没什么难的啊,是不是你把它想复杂了?
 
接受答案了.
 
后退
顶部