public static void main(String[] args) throws Exception {
GuavaRateLimiter rateLimiter = new GuavaRateLimiter(100, TimeUnit.SECONDS);
int count = 0;
for (int i = 0; i < 10000; i++) {
if (rateLimiter.tryAcquire()) {
count++;
}
}
System.out.println("成功:" + count);
}
结果: 1
public static void main(String[] args) throws Exception {
GuavaRateLimiter rateLimiter = new GuavaRateLimiter(100, TimeUnit.SECONDS);
Thread.sleep(200);
int count = 0;
for (int i = 0; i < 10000; i++) {
if (rateLimiter.tryAcquire()) {
count++;
}
}
System.out.println("成功:" + count);
}
结果: 21
public static void main(String[] args) throws Exception {
GuavaRateLimiter rateLimiter = new GuavaRateLimiter(100, TimeUnit.SECONDS);
Thread.sleep(1000);
int count = 0;
for (int i = 0; i < 10000; i++) {
if (rateLimiter.tryAcquire()) {
count++;
}
}
System.out.println("成功:" + count);
}
结果: 101