Multithreading 创建任务计划程序

Multithreading 创建任务计划程序,multithreading,winapi,mfc,Multithreading,Winapi,Mfc,我需要安排经常性的任务。我的申请是用MFC写的。例如,我可能需要在“从日期”“到日期”“频率”“开始时间”“结束时间”将文件发送到特定位置。我想到了创建一个列表,在其中添加这些参数,并创建一个每秒都会流逝的计时器。在这里,我可以检查条件列表并调用文件传输。但问题是,如果名单太多,那么我可能无法做到这一点。有没有其他方法可以实现这一点?创建一个调度事件的优先级队列,对于每个“调度”,只为该“调度”的下一个事件填充队列。只等待优先级队列中的第一个事件,使用时,查找该事件的计划项,并让它将其下一个事件

我需要安排经常性的任务。我的申请是用MFC写的。例如,我可能需要在“从日期”“到日期”“频率”“开始时间”“结束时间”将文件发送到特定位置。我想到了创建一个列表,在其中添加这些参数,并创建一个每秒都会流逝的计时器。在这里,我可以检查条件列表并调用文件传输。但问题是,如果名单太多,那么我可能无法做到这一点。有没有其他方法可以实现这一点?

创建一个调度事件的优先级队列,对于每个“调度”,只为该“调度”的下一个事件填充队列。只等待优先级队列中的第一个事件,使用时,查找该事件的计划项,并让它将其下一个事件填充到队列中

请询问是否以上任何内容需要进一步澄清

编辑:

您将在特定的日期和时间触发活动,具体取决于您最喜欢的活动。由于您只有一个必须等待的事件(您可以从队列头部复制),因此您有多个选项,例如:

  • 将当前时间与事件时间进行比较时,以1秒为间隔设置计时器()
  • 当前时间到事件时间的持续时间的SetTimer()
  • 启动另一个线程,其中包含waitforsingleobject,延迟计算为eventi_time-now——这将是最困难的,因为在主线程上调用某些东西时必须小心
  • 。。。等等

为什么不使用系统任务计划程序?如何在特定日期和时间触发事件?Daniel感谢您的更新,但问题是不会只有一个事件。我将有一个计划项目的列表。是的,正如我所说的,您将把您的计划列表转换为优先级队列,该队列将处理其余的项目。