gpt4 book ai didi

java - 使用 ScheduledThreadPool 并行执行

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:56 26 4
gpt4 key购买 nike

目前,我有一个每秒收集数据并将其发送到 API 端点的应用程序。为了每秒运行一次,我使用 ScheduledThreadPoolExecutor 来运行发送数据的线程。问题是发送数据有时需要超过一秒,这会导致下一个数据序列要晚一秒以上才能收集到。有什么方法可以更改(或可以使用其他库),以便即使一个线程未完成发送数据,另一个线程也可以开始并行运行?

最佳答案

处理同一计划任务重叠执行的通常方法是异步执行任务的(耗时)业务逻辑。

换句话说,当触发每秒一次的任务时,将实际工作提交给 ExecutorService(您用于计划任务的那个或另一个)。这样,计划任务在它再次执行之前就已经完成了它的工作(将实际工作排队)。

关于java - 使用 ScheduledThreadPool 并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45823119/

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