在我的应用程序中,大约有15个线程每15秒发送一次HTTP请求到api端点;表示大约每秒请求1次。这些线程应无限期运行,只需要创建一次即可。我不确定如何继续在主线程上接收响应,以便可以对其进行解析和处理。在尝试研究这个问题时,我发现了几个看起来可以提供帮助的框架。 ScheduledExecutorService,NIO,Grizzly,AHC。但是,我对选择的数量感到瘫痪,不确定执行什么方法。
我的主要目标是针对15个请求中的每一个,每15秒发送一次请求,并在进入主线程时接收响应。
答案 0 :(得分:0)
如此简单的任务不需要特殊的框架。只需创建一个BlockingQueue实例(ArrayBlockingQueue看起来是最佳选择)。每个网络线程都调用queue.put(response)
,而主线程使response=queue.take()
循环。