- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
目前,我有一个每秒收集数据并将其发送到 API 端点的应用程序。为了每秒运行一次,我使用 ScheduledThreadPoolExecutor
来运行发送数据的线程。问题是发送数据有时需要超过一秒,这会导致下一个数据序列要晚一秒以上才能收集到。有什么方法可以更改(或可以使用其他库),以便即使一个线程未完成发送数据,另一个线程也可以开始并行运行?
最佳答案
处理同一计划任务重叠执行的通常方法是异步执行任务的(耗时)业务逻辑。
换句话说,当触发每秒一次的任务时,将实际工作提交给 ExecutorService(您用于计划任务的那个或另一个)。这样,计划任务在它再次执行之前就已经完成了它的工作(将实际工作排队)。
关于java - 使用 ScheduledThreadPool 并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45823119/
我正在开发一个 J2SE 应用程序,用于同步存储在不同服务器上的四个数据库中的 184 辆汽车的 GPS 信息。我为每辆车创建一个线程并存储在 ScheduledThreadPool 中 Sc
正在解决我有 3 个现金柜台为客户提供服务的问题。每个计数器需要 1 秒来处理 1 个项目,第三个计数器需要 2 秒来处理每个项目。 (例如,顾客 A 在柜台 1 上有 5 件商品,需要 5 秒才能完
所以,假设我有一个包含 10 个线程的 ScheduledExecutorService,如此生成,并且我启动一个定期任务每分钟运行一次。 svc = Executors.newScheduledTh
我有一个 类 的 3 实例,它实现 runnable 接口(interface)。我正在实例化我的 Executor 类,如下所示; executor = Executors.newSchedule
我有这个简单的测试: import java.util.Timer; import java.util.TimerTask; public class ScheduleTest { private
目前,我有一个每秒收集数据并将其发送到 API 端点的应用程序。为了每秒运行一次,我使用 ScheduledThreadPoolExecutor 来运行发送数据的线程。问题是发送数据有时需要超过一秒,
我正在创建一个 ScheduledThreadPool 来定期运行一些方法调用。举个例子,我想每 10 秒将所有内容保存到数据库中......所以我得到了: public class Schedule
我想要编写一个小型 Android 应用程序,并且想要更新我的 Activity 中的一个元素非常快速且频繁地按下按钮后(每约 50-250 毫秒)。 我还希望能够更新元素更改的频率计时器正在运行。
我是一名优秀的程序员,十分优秀!