代码之家  ›  专栏  ›  技术社区  ›  Poni

调度任务的c++多线程任务队列

  •  1
  • Poni  · 技术社区  · 14 年前

    我需要开发一个模块,将执行预定的任务。

    模块将执行任务的工作线程数量作为参数。

    任务堆积在一个队列中,这个队列可能是一个优先级队列,因此线程检查队列中的下一个任务(具有最低“赎回”时间的任务),因此不需要每次遍历所有任务。

    3 回复  |  直到 14 年前
        1
  •  5
  •   greyfade    14 年前

    如果你不介意增强依赖性, threadpool 可能适合你的需要。

        2
  •  3
  •   Nikolai Fetissov    14 年前
        3
  •  1
  •   Karmastan    14 年前

    只需在问题中添加一点信息,您需要的是一个使用 Earliest Deadline First 算法。还要注意的是,如果没有操作系统的支持,您就不能保证您的程序在您指定的X毫秒期限内工作。操作系统总是会在作业进行到一半的时候决定将任务从CPU上调换下来,这样就需要很长时间才能完成。

    real-time operating system ,不是普通窗口。