java - 从套接字流读取时是否需要线程 sleep ?

标签 java multithreading sockets io

我正在像这样从套接字输入流中读取数据

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阻塞直到数据可用。

在这种情况下冷却线程是个好主意吗? 10 毫秒后无论如何都会阻塞。

请不要告诉我非阻塞 IO,我知道。

我只是好奇它是否对性能/CPU 有任何帮助。

最佳答案

。没有理由 sleep 。为什么要人为地减慢读取循环?让它尽可能快地读取数据。

关于java - 从套接字流读取时是否需要线程 sleep ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18746167/

相关文章:

java - 从 .mp3 或任何合适的格式到 MIDI 的声音转换

java - 将 OOP java 转换为现代 C++ 代码、抽象方法和接口(interface)方法

java - java中实现runnable的类可以有run()以外的方法吗?

java - Java 中带有 GUI 的多线程

Python 套接字 - 从客户端保持与服务器的连接

java - HQL查询存储在map中的一对多关系

java - GridBagLayout - 意外添加/和更改间距

java - 使用多线程使垃圾收集器使用 100% 的 CPU 时间

java - 如何在Apache Pulsar中集群切换而没有重复数据

c - 服务器无法读取来自客户端的所有消息?