java - 监听套接字必须在线程中运行吗?

标签 java multithreading sockets

我在理解应该如何处理套接字时遇到了一些问题。我知道服务器套接字必须在它自己的线程中运行,因为它必须检查是否有新连接。现在,我不确定新连接打开的每个套接字是否都应该在线程中运行。

我的想法是每 x 次检查一次套接字状态。如果它有什么要读的,那就读吧。如果没有,请检查下一个套接字。我看到一些例子,这个过程是在一个线程中完成的,但我不想让套接字做任何事情,只想读取它是否有一些数据,并处理它们。

最佳答案

答案是否定的,您不需要在单独的线程中收听。但是,请注意,当您“聆听”时,您的整个程序将等待它完成,然后再继续。

因此,除非您可以接受整个程序的等待,否则我建议使用一个单独的线程。

关于java - 监听套接字必须在线程中运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327666/

相关文章:

java - 如何在 DTO 中隐藏 JsonProperty?

java - Spring 日期转换休息一天

c++ - 在多线程循环中调用函数

Java 同步 : just keep critical sections small?

python - python 中的 Thrift,简单示例的客户端无法连接到 Ubuntu 14.04 LTS 上的本地主机

Node.js Socket.IO 无法完全工作

java - 如何查看是否有可以录制视频的 "front"摄像头?

java - 删除停用词 [Java]

c++ - 解除线程与另一个线程的阻塞

python - 为什么这个 Python 代码不能通过 SSL 连接?