目标:在5个线程并行运行的情况下,每5秒监控5个json URL。
我想运行多个并行线程来监控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个URLS的正确方式吗?我不想在这里使用线程池。在应用程序的生命周期之前,所有5个线程都必须处于活动状态。
在我的场景中,ScheduledExecutorService可以提供帮助吗?或者有其他方法可以实现这一点?
谢谢
发布于 2012-12-27 22:27:09
ScheduledExecutorService是一个线程池,它可以做你想做的事情。
发布于 2012-12-27 22:26:57
我会用Quartz实现这一点,这是实现涉及计划任务的良好解决方案的一种简单方法:http://quartz-scheduler.org/
https://stackoverflow.com/questions/14056172
复制相似问题