【发布时间】:2017-09-18 17:33:46
【问题描述】:
我想创建一个接受来自客户端的 TCP 套接字连接的 Java 程序。
一旦客户端连接到我的服务器,我就会创建一个新线程来处理该客户端。
我的疑问是,如果我为具有单核处理器的服务器运行 Ubuntu VM,我可以支持多少个客户端?
另外,最大线程数是否取决于处理器的数量?
如果您想建议对客户端处理的服务器端代码进行一些优化,请这样做。这是sn-p的代码:
SS = new ServerSocket(8080);
while(1) {
Socket S = SS.accept();
BufferedReader DIS = new BufferedReader(new InputStreamReader(S.getInputStream()));
PrintWriter DOS = new PrintWriter(S.getOutputStream(),true);
ServerThread CT = new ServerThread(S,DIS,DOS); // Class to handle client functions
Thread T = new Thread(CT);
T.start(); }
如您所见,客户端数量越多,创建的线程就越多。
【问题讨论】:
-
@UsagiMiyamoto 感谢您提供参考文档
标签: java multithreading sockets virtual-machine