大规模编程中的另一个问题:
我有一个包含时间戳和目标文件名的作业队列。 (对于每个时间戳,最多可能有500个目标文件要处理)。所有500个目标文件的处理算法都相同。我想这样做:
我知道这样做的愚蠢方法,使用while循环,检查当前时间是否是作业队列中的时间戳....但是还有其他选择吗? 我也在网上谷歌,也有一些人说在Unix中使用cron命令。 (是的,我的目标设置是在Unix中。)
我是这个大型计算领域的新手,欢迎提出任何建议或建议。
答案 0 :(得分:2)
如果您希望您的作业队列持久,请使用批处理调度程序,例如Quartz。
较轻的替代方案是java.util.concurrent包中的ScheduledThreadPoolExecutor,您可以使用Executors工厂类创建该包。这允许您注册要在固定时间执行的Runnable任务。
答案 1 :(得分:0)
听起来你想要的是一个优先级队列。您基本上需要按队列中的时间戳对项目进行排序。