栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

限制Java上载速度?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

限制Java上载速度?

令牌桶算法是一种限制上传或下载带宽的方法。您应该阅读本文:它解释了此算法的用法。

使用番石榴RateLimiter:

// rate = 512 permits per second or 512 bytes per second in this casefinal RateLimiter rateLimiter = RateLimiter.create(512.0);while (file.hasMoreLines()) {    String line = file.readLine();    for (int i = 0; i < line.length(); i+=128) {        byte[] bytes = line.substr(i, i+128).getBytes();        rateLimiter.acquire(bytes.length);        outputStream.writeBytes(bytes);    }}

如Guava文档中所述:
重要的是要注意,所请求的许可数量永远不会影响请求本身的节流(对acquire(1)的调用和对acquire(1000)的调用将导致完全相同的节流,如果任何),但会影响下一个请求的限制。
即,如果一个昂贵的任务到达一个空闲的RateLimiter,它将立即被授予,但是下一个请求将受到额外的限制,从而支付了昂贵任务的成本。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596032.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号