【发布时间】:2013-09-15 18:31:00
【问题描述】:
我正在从这样的套接字输入流中读取数据
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while((line = in.readLine()) != null){
// do something
Thread.sleep(10); // for example 10ms
}
现在,the read method of an input stream 会阻塞直到数据可用。
在这种情况下冷却线程是个好主意吗? 10ms 后它无论如何都会阻塞。
请不要告诉我关于非阻塞 IO 的事情,我知道。
我只是好奇它是否有助于提高性能/CPU。
【问题讨论】:
-
您为什么认为它可能有助于提高性能?
-
如果输入流是非阻塞的,那么这是您应该在问题中包含的重要信息。
-
它不是阻塞输入流,@Raedwald 我认为它可能会像 shem 提到的那样对 os 线程调度产生影响。
标签: java multithreading sockets io