我需要将每秒 HTTP 调用的数量限制为最多 10 个。这是根据允许的配额。
HttpClient 对此有一些功能吗?或者任何自定义实现也可以。
您可以尝试ScheduledThreadPoolExecutor。
从javadoc:
一个 ThreadPoolExecutor,可以额外安排命令在给定延迟后运行,或定期执行
您只需使用该schedule
方法并将其Runnable
传递Runnable
给HttpClient
. 您可以安排您Runnable
每秒运行 10 次,或根据需要。将通过Executor
将您的呼叫排队HttpClient
,并且每秒最多只能运行 10 个。