gpt4 book ai didi

java - 暂停 TimerTask 直到下一次执行

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:43 24 4
gpt4 key购买 nike

我正在使用 TimerTask 运行一些定期任务,该任务正在处理一组文件。我有一个要求,如果要处理的文件数量超过预先确定的限制,线程将暂停执行并等待下一个周期再次开始处理文件。有没有办法将 TimerTask 挂起直到下一个执行周期,或者我是否必须扩展 TimerTask 类才能实现此功能?我看到有一个 TimerTask.cancel 方法,但这将取消该线程的所有进一步执行。我不希望这种事发生。我只想让线程挂起直到下一个执行周期。由于我们的框架使用 TimerTask,所以我没有机会迁移到 Java 中的任何其他并发类,而且我必须坚持使用它。

非常感谢任何建议、指示或提示。

谢谢

阿莎

最佳答案

一种方法是将任务放在BlockingQueue上并让 TimerTask remove() 处理条目,直到队列为空或达到预先确定的限制。任何剩余的条目将在队列中等待下一次计划的执行。

关于java - 暂停 TimerTask 直到下一次执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8173147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com