java - 类似 ExecutorService 的类,用户可以在其中控制调用 Callable 的时间

标签 java android executorservice callable

我正在使用 ExecutorService 来安排将来要执行的任务。在看到一些“奇怪”的行为后,我的 Callable 在我调用 get() 之前在通过将我的 Callable 提交到 ExecutorService 池返回的 Future 对象上执行,我阅读了一些文档并发现提交的任务将在它之间执行提交或最迟在 Future 对象上调用 get() 时。

我的问题 - 是否有任何类允许将 Callable 提交给它并且仅在调用 get() 时执行?在这一点上,似乎我自己管理 Callables 并在我准备好执行它们时自己调用 call() 似乎可以完成我想要的,但我想确保没有服务实现了这一点。

简而言之,是否有任何替代 ExecutorService 的方法可以让我控制何时调用提交给它的 Callable?注意 - 我希望调用它们的 future 时间是可变的并且不确定,因为我可能决定不调用它们,所以 ScheduledExecutorService 池在这里不起作用。

非常感谢!

最佳答案

听起来您真的很想使用 Queue<Callable>相反,只需轮询任务队列。

这样您就可以提交任意数量的任务并按您的意愿执行它们 - 一个接一个。

关于java - 类似 ExecutorService 的类,用户可以在其中控制调用 Callable 的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444432/

相关文章:

java - 如何强制 lambda 定义的新实例化

java - 一维数组战舰代码

android - 固定 GPS 时获取坐标 - Android

Android repo 初始化失败

java - ExecutorService关闭不中断线程

java - 如何搁浅 executorservice

java - 尝试使用 Intent 登录时出现错误

java - 如何使用 Spring 的 JdbcTemplate 重用相同的连接?

android - 无法解析目标 'google inc. :google apis:19

java - Executors.newCacheThreadPool 创建的线程不是守护进程,但在守护进程中创建的池