【发布时间】:2015-10-31 06:04:37
【问题描述】:
我正在尝试限制每秒调用方法的次数。 我尝试使用 Guava RateLimiter 来实现这一点。
RateLimiter rateLimiter = RateLimiter.create(1.0);//Max 1 call per sec
rateLimiter.acquire();
performOperation();//The method whose calls are to be throttled.
但是调用的方法不限于每秒1个,而是连续的。
可以使用 Thread.sleep() 来实现节流,但我希望使用 Guava 而不是 sleep()。
我想知道使用 Guava RateLimiter 实现方法调用的正确方法。 我检查了 RateLimiter 的文档并尝试使用相同但无法达到预期的结果。
【问题讨论】:
-
您是否在每次调用之前创建一个新的
RateLimiter?
标签: java guava throttling