我是靠谱客的博主 丰富大船,这篇文章主要介绍使用guava RateLimiter限流,现在分享给大家,希望可以做个参考。

    场景:第三方api调用时,避免第三方服务因并发调用数过高挂掉

下面测试例子

 1 private static final RateLimiter rateLimiter =RateLimiter.create(3.0);
 2
 3 public static void main(String[] args) {
 4
 5 for (int i =0; i <30; i++) {
 6
 7 new Thread(() -> {
 8
 9 // System.out.println(currentThread().getName() + "我开始执行了");
10
11 
System.out.println(send(currentThread().getName()));
12
13 }).start();
14
15 }
16
17 }
18
19 public static String send(String message) {
20
21 rateLimiter.acquire();
22
23 return sendd(message);
24
25 }
26
27 public static String sendd(String message) {
28
29 return "发送消息:{" + message +"}成功!" +DateUtil.getNow();
30
31 }

 

转载于:https://www.cnblogs.com/chigd/p/9030119.html

最后

以上就是丰富大船最近收集整理的关于使用guava RateLimiter限流的全部内容,更多相关使用guava内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(118)

评论列表共有 0 条评论

立即
投稿
返回
顶部