java.io.BufferedReader.readLine()消耗99%的CPU为什么?

时间:2013-06-26 11:29:50

标签: java streaming

在这段代码中,我正在从流中读取一个值。但是readline()方法占用了更多的CPU。可以帮助我,为什么会这样,并给我一些建议,以尽量减少CPU的使用。

    HttpURLConnection request = (HttpURLConnection) url.openConnection();
    request.setRequestMethod("POST");
    request.setRequestProperty("Content-Length", "0");
    request.setUseCaches(false);

    InputStreamReader in = new InputStreamReader((InputStream) request.getContent());
    BufferedReader buff = new BufferedReader(in);  

    while(line = buff.readLine() != null) {
   System.out.print("hello");
    }

2 个答案:

答案 0 :(得分:1)

您应该将BufferedReader附加到请求的输入流,但我发现很难相信您标题中的声明。

答案 1 :(得分:1)

我很确定print语句是高CPU负载的原因。如果删除它会发生什么?