目标:每5秒钟监视5个json URL,其中5个线程并行运行。
我想运行多个并行线程来监视JSON URL,每个时间间隔为n秒。我正在使用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
可以在我的方案中提供帮助,还是有其他方法可以实现这一目标?
由于
答案 0 :(得分:5)
ScheduledExecutorService是一个线程池,它可以执行您想要的操作。
答案 1 :(得分:1)
我会用Quartz实现它,这是一种实现涉及计划任务的好解决方案的简单方法: http://quartz-scheduler.org/