文件名称:task-scheduler
文件大小:601KB
文件格式:ZIP
更新时间:2024-06-24 13:41:43
JavaScript
应用概述 该应用程序由 3 个主要组件组成:任务、资源和调度程序。 任务的生命周期: 调度程序将所有任务分为三组之一:准备运行、等待依赖项或无法运行 调度程序维护全局“时钟”。 在每个滴答声中,它查看就绪队列并分派所有准备运行的任务。 它还“勾选”其控制下的每个资源的执行计数器。 调度程序将每个任务与具有足够可用内核来处理任务的资源相匹配。 任务完成后,任务会通知调度程序和任何观察者。 观察者是等待当前任务完成的其他任务。 当新任务变为“就绪”(意味着满足所有依赖项)时,它们将被移动到调度程序的就绪队列中并在下一个滴答声中处理。 处理完所有任务后,调度程序将关闭。 增强功能和潜在问题 这个调度器还有很多可以做得更好的地方,包括: 更好地验证文件(即检查重复的任务名称、循环引用) 资源的优先级 - 例如,在查看计算 2 之前填写计算 1。 现在该算法是“第一个可用的” 任务