繁体   English   中英

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

[英]Multiple threads to run parallel at fixed interval using ScheduledExecutorService

目标:每5秒监视5个json URL,同时5个线程并行运行。

我想运行多个并行线程以每个n秒为间隔监视JSON URL。 我为此使用ScheduledExecutorService

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个URL的正确方法吗? 我不想在这里使用线程池。 在应用程序的生命周期内,所有5个线程都必须处于活动状态。

ScheduledExecutorService可以在我的情况下提供帮助吗,或者有其他方法可以实现此目的?

谢谢

ScheduledExecutorService是一个线程池,它将执行您想要的操作。

我将使用Quartz来实现这一点,这是获得涉及计划任务的良好解决方案的简便方法: http : //quartz-scheduler.org/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM