首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ScheduledExecutorService以固定时间间隔并行运行多个线程

使用ScheduledExecutorService以固定时间间隔并行运行多个线程
EN

Stack Overflow用户
提问于 2012-12-27 22:23:17
回答 2查看 1.8K关注 0票数 5

目标:在5个线程并行运行的情况下,每5秒监控5个json URL。

我想运行多个并行线程来监控JSON URL,每个线程的时间间隔为n秒。为此,我使用了ScheduledExecutorService

代码语言:javascript
复制
ScheduledExecutorService executor = Executors.newScheduledThreadPool(5);

for(NetworkBwXmlObject x : xmlDsList) {
    executor.scheduleAtFixedRate(new processJsonUrl(x.getJsonUrl(),x.getId(), ctx), 0, 5, TimeUnit.SECONDS);
}

class processJsonUrl implements Runnable {

}

这是创建5个线程来监控5个URLS的正确方式吗?我不想在这里使用线程池。在应用程序的生命周期之前,所有5个线程都必须处于活动状态。

在我的场景中,ScheduledExecutorService可以提供帮助吗?或者有其他方法可以实现这一点?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-12-27 22:27:09

ScheduledExecutorService是一个线程池,它可以做你想做的事情。

票数 6
EN

Stack Overflow用户

发布于 2012-12-27 22:26:57

我会用Quartz实现这一点,这是实现涉及计划任务的良好解决方案的一种简单方法:http://quartz-scheduler.org/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14056172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档