【发布时间】:2013-02-24 20:09:41
【问题描述】:
最好是启动一个线程来处理一个客户端,而另一个线程用于连接但告诉他们服务器很忙,或者我应该坚持使用单线程方法,其中同一个线程接受并处理客户端所以其他人无法连接到它? (如果是这样的话)
编辑:我应该注意不会有 239482340 人连接到它。通常只有一个人会连接到服务器,但我希望我的应用能够处理另一个尝试连接而不会跌倒的人。
【问题讨论】:
标签: java networking io
最好是启动一个线程来处理一个客户端,而另一个线程用于连接但告诉他们服务器很忙,或者我应该坚持使用单线程方法,其中同一个线程接受并处理客户端所以其他人无法连接到它? (如果是这样的话)
编辑:我应该注意不会有 239482340 人连接到它。通常只有一个人会连接到服务器,但我希望我的应用能够处理另一个尝试连接而不会跌倒的人。
【问题讨论】:
标签: java networking io
坚持单线程对服务器来说更好,因为资源消耗非常低。但是,这对客户端来说可能很烦人,因为它不知道服务器是否有问题或只是忙。
拥有告诉其他用户服务器正忙的线程会占用更多资源,但对客户端来说更好。
在您的特定情况下,任何一种方法都应该没问题。我想这真的取决于客户和他们想要什么......:-/
【讨论】:
构建此类系统通常使用两种主要策略:
【讨论】: