1、简介
RateLimiter其实现了令牌桶算法。
2、结构
RateLimiter:抽象类,setRate和getRate用于设置和获取往桶中添加令牌的速率,具体的操作分别交给抽象方法doSetRate和doGetRate来处理。 获取令牌是调用acquire或者tryAcquire方法。acquire方法处理过程中会交给抽象方法reserveEarliestAvailable来处理,tryAcquire方法处理过程中会调用canAcquire,而canAcquire方法中会调用抽象方法queryEarliestAvailable来处理。