java - 使用像 Guava RateLimiter 这样的库比简单的 Thread.sleep 有什么优势?

标签 java thread-safety guava rate-limiting

假设我只想以特定速率调用服务,比如每秒 1 次,Guava RateLimiter 与简单的 Thread.sleep(1000) 相比有哪些优势?

最佳答案

RateLimiter 的要点是让它成为被调用服务的一部分(或包装服务),因此它可以保护自己不被过于频繁地调用。您的 Thread#sleep 替代方案必须由服务的客户端使用,因此您正在比较两种不同的东西。

这里有一篇关于 what you can do with RateLimiter 的好文章.

关于java - 使用像 Guava RateLimiter 这样的库比简单的 Thread.sleep 有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30980590/

相关文章:

java - 在 Springdata MongoDB 中查询 mongoDB 按数组值排序并使用分页

java - JDBC 连接池是单例的吗?

Ruby 的线程速度

c# - 是什么使实例成员线程不安全与公共(public)静态?

java - Guava 中的 ListenableFuture 将在哪个线程中调用 FutureCallback?

java - 如何保持固定大小的 ListenableFuture 池?

java - 字符串生成器和字符串输出

java - RequestContextHolder 是线程安全的吗?

java - Guava MultiMap 和 ConcurrentModificationException

java - 无法从 jar 读取输入