在我的应用程序中,大约有 15 个线程,每个线程每 15 秒向 api 端点发送一次 http 请求;意味着大约每秒 1 个请求。这些线程应该无限期地运行并且只需要创建一次。我不确定如何在主线程上持续接收响应,以便对它们进行解析和处理。在尝试研究这个问题时,我发现了几个看起来可以提供帮助的框架;ScheduledExecutorService、NIO、Grizzly、AHC。但是,我对选项的数量感到麻痹,并且不确定要实施什么。我的主要目标是,对于 15 个请求中的每一个,请求每 15 秒自行发送一次,并在主线程收到响应时接收响应。
1 回答
四季花海
TA贡献1811条经验 获得超5个赞
如此简单的任务不需要特殊的框架。只需创建一个 BlockingQueue 实例(ArrayBlockingQueue 看起来是最佳选择)。每个网络线程调用queue.put(response)
,主线程response=queue.take()
循环。
添加回答
举报
0/150
提交
取消