java - 套接字上的客户端的高性能多线程

标签 java multithreading sockets serversocket

目前我有一个项目,我们开发 Java 德州扑克应用程序。当然,这个应用程序是基于客户端服务器套接字系统的。我将所有已加入的客户端(我使用 socketServer.accept() 方法获取它们)保存在 ArrayList 中。目前,我为每个加入的客户端创建一个线程,该线程永久检查客户端是否向服务器发送任何数据。我的同学告诉我,如果我创建一个大线程,迭代整个客户端 ArrayList 并检查每个客户端 inputstreamreader,效果会更好。我应该相信他吗?

最佳答案

如果您的应用程序有很多客户端,那么为每个套接字创建一个线程并不是一个好主意。

我建议研究外部库以及它们如何处理连接。示例:http://netty.io/ , https://mina.apache.org/

关于java - 套接字上的客户端的高性能多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32975278/

相关文章:

java - 线程问题,无法更改外部 TextView 的值

asp.net - 使用ASP.NET将文件从服务器发送到客户端

c++ - 在特定时间后唤醒线程

Python 3 - 在用户将鼠标悬停在 GUI 窗口上之前,主线程未检测到后台线程中的键盘中断

c++ - C/C++ 事件驱动监控非子程序的终止

c++ - 无法在 Socket 编程中将 int 从服务器发送到客户端

连接 php apache 时的 Java 杂项行为

java - Java 中 for 循环末尾的额外分号概念有问题

java - Selenium Webdriver 和 SoapUI 有什么区别?

java - 如何中断 Future,但仍然等待它完成?