创建任务计划程序

时间:2011-06-28 11:11:39

标签: multithreading winapi mfc

我需要安排重复的任务。我的申请是在MFC。对于Eg,我可能需要将文件发送到“从日期”“到日期”“频率”“开始时间”“结束时间”的特定位置。我想有一个列表并在那里添加这些参数并创建一个每秒钟过去的计时器。我可以在哪里查看条件列表并调用文件传输。但问题是如果列表很大,那么我可能无法做到。还有其他方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:0)

创建计划事件的优先级队列,并且对于每个“计划”,仅针对该“计划”填充队列中的NEXT事件。只等待优先级队列中的第一个EVENT,当使用时,查看该事件的schedule项,并让它将下一个事件填入队列。

请询问以上是否需要更多说明。

编辑:

您将根据自己最熟悉的日期和时间触发活动。由于您只有一个必须等​​待的事件(您可以从队列的HEAD中复制它),因此您有多个选项,例如:

  • SetTimer(),将当前时间与事件时间进行比较,间隔一秒。
  • SetTimer()表示当前时间到事件时间的持续时间。
  • 启动另一个线程,在其中使用waitforsingleobject,延迟计算为eventi_time-now - 这将是最困难的,因为在主线程上调用某些内容时必须小心
  • ......等等