我在Java中编写了以下代码,用于在Raspberry Pi 3中下载文件:
尽管我正在使用8 KB缓冲区,平均下载速度约为1389 B,大约需要205毫秒,相当于6.78 KB/s: 下载速度测量 我还注意到,在执行此代码时,CPU使用率始终为25%。由于RPi的CPU有4个核心,我认为它正在使用单个核心的100%。我知道这是一款性能较弱的处理器,但下载文件并不是一个要求很高的任务,因此这种奇怪的行为让我感到困惑。
String fileUrl = "...";
URL urlObj = new URL(fileUrl);
HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();
InputStream in = con.getInputStream();
byte[] buffer = new byte[8*1024];
long t = System.nanoTime();
int read;
while ((read = in.read(buffer)) != -1) {
System.out.println("Read " + read + "B in " + (System.nanoTime() - t)/1000000.0 + " ms");
t = System.nanoTime();
}
尽管我正在使用8 KB缓冲区,平均下载速度约为1389 B,大约需要205毫秒,相当于6.78 KB/s: 下载速度测量 我还注意到,在执行此代码时,CPU使用率始终为25%。由于RPi的CPU有4个核心,我认为它正在使用单个核心的100%。我知道这是一款性能较弱的处理器,但下载文件并不是一个要求很高的任务,因此这种奇怪的行为让我感到困惑。