有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Windows上从Java监视网络使用级别

我目前正在寻找一种方法,如何从Java获取有关网络利用率的实时数据。我想看看几个正在运行的线程(都是从web下载的东西)是如何利用网络的,并且在不满足某些条件的情况下,能够同时设置生成新线程的阈值。假设我创建了10个线程,所有从Web下载一些东西,网络利用率将在5%,考虑到先前设置的阈值最大利用率为10%,我将允许产生一个新线程。问题是,我不确定是否有办法获得这样的网络信息。非常感谢您的帮助


共 (1) 个答案

  1. # 1 楼答案

    如果您使用的是Linux,您应该能够从/proc/net中的系统文件中读取此信息。例如,/proc/net/dev

    Inter-|   Receive                                                |  Transmit
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
        lo: 108751031  226504    0    0    0     0          0         0 108751031  226504    0    0    0     0       0          0
     wlan0: 113355689  146027    0    0    0     0          0         0 18453619  122751    0    0    0     0       0          0
      eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
    

    该文件在几乎任何编程语言(包括Java)中都很容易读取

    注意:该问题现在已更改为明确指Windows。因此,这不再是一个完全合适的答案