現在、Java からネットワーク使用率に関するリアルタイム データを取得する方法を探しています。いくつかの実行中のスレッド (すべて Web からダウンロードするもの) がネットワークを利用し、いくつかの基準が満たされない場合に新しいスレッドを生成するためのしきい値を同時に設定できることを確認したいと思います。10 個のスレッドを作成し、すべて Web からいくつかのものをダウンロードし、ネットワーク使用率が 5% になるとします。以前に設定されたしきい値を最大使用率の 10% に設定すると、新しいスレッドを生成することが許可されます。そのようなネットワーク情報を取得する方法があるかどうかはわかりません。どんな助けでも大歓迎です。
質問する
140 次
1 に答える
2
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を明示的に参照するように変更されました。したがって、これはもはや完全に適切な答えではありません。
于 2012-05-17T12:50:42.497 に答える