Guava并发:RateLimiter限制资源的并发访问线程数

2023-11-14

RateLimiter类似于JDK的信号量Semphore,他用来限制对资源并发访问的线程数,本文介绍RateLimiter使用

 

RateLimiter类似于JDK的信号量Semphore,他用来限制对资源并发访问的线程数。

RateLimiter limiter = RateLimiter.create(4.0); //每秒不超过4个任务被提交
limiter.acquire();  //请求RateLimiter, 超过permits会被阻塞
executor.submit(runnable); //提交任务

也可以以非阻塞的形式来使用:

If(limiter.tryAcquire()){ //未请求到limiter则立即返回false
    doSomething();
}else{
    doSomethingElse();
}

 

http://outofmemory.cn/java/guava/concurrent/RateLimiter

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Guava并发:RateLimiter限制资源的并发访问线程数 的相关文章

随机推荐