【发布时间】:2014-10-01 21:43:05
【问题描述】:
所以我正在从事这个休闲项目,以了解有关 java 网络的更多信息,到目前为止,我遇到的每个教程或文档都涉及为每个客户端连接创建一个新线程以等待输入。我想知道是否可以使用单个线程处理客户端连接列表?我尝试执行类似以下代码的操作,但没有成功。
while(true){
for(Client c : list){
DataInputStream dis = new DataInputStream(c.getSocket().getInputStream());
if(dis.readLine()!=null){
//Code
}
dis.close();
}
}
【问题讨论】:
-
为什么会出现线程厌恶综合症问题?为什么不简单地使用后台线程?另外,据我所知,如果没有多个线程,这是不可能的。
-
事实上,没有真正的方法可以绝对杀死我所知道的线程
-
就让线程代码跑完。那会杀了它。并且一定要使用一个线程池来限制线程的数量。
-
如果说run()方法中没有循环,它只是一个println(),当它到达终点时它就死了?
标签: java multithreading sockets networking