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

如何使用Java检测Internet连接速度?

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

如何使用Java检测Internet连接速度?

我认为您可能会以错误的方式考虑问题。拍摄连接速度快照仅表示其在该瞬间的吞吐量。当您运行消耗带宽的测试时,他们很可能正在运行另一个应用程序,然后您的测量值一文不值。

相反,我认为您应该根据线程是增加还是减少它们的吞吐量来不断添加或删除线程。我建议这样的事情(仅限伪代码):

while(true) {  double speedBeforeAdding = getCurrentSpeed();  addThread();  // Wait for speed to stabilise  sleep(20 seconds);  double speedAfterAdding = getCurrentSpeed();  if(speedAfterAdding < speedBeforeAdding) {    // Undo the addition of the new thread    removeThread();    // Wait for speed to stabilise    sleep(20 seconds);    if(getNumberOfThreads() > 1) {      double speedBeforeRemoving = getCurrentSpeed();      // Remove a thread because maybe there's too many      removeThread();      // Wait for speed to stabilise      sleep(20 seconds);      double speedAfterRemoving = getCurrentSpeed();      if(speedAfterRemoving < speedBeforeRemoving) {        // Add the thread back        addThread();        // Wait for speed to stabilise        sleep(20 seconds);      }    }  }}

您可以根据自己的需要调整睡眠时间。我假设这里

getCurrentSpeed()
返回 所有
下载线程的吞吐量,并且您能够在应用程序执行期间动态地打开和关闭线程。



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

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

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