创建主线程Thread desktopServerThread = new Thread(new Server()); desktopServerThread.start(); public class Server implements Runnable { public void run() { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(4321); while (true) { Socket socket = serverSocket.accept(); /* 监听到客户端访问,则创建线程提供服务 */ ServerWorker worker = new ServerWorker(socket); new Thread(worker).start(); } } class ServerWorker implements Runnable { private String result = ""; private Socket socket = null; ServerWorker(Socket socket) { this.socket = socket; } @Override public void run() {执行操作。。。。。。。。}} 问题:1:我的主线程接到访问后,会创建多个线程来提供服务吗?2:创建的多个线程后,系统会自动回收吗? 如果访问过多的话,,怎么处理???
1 回答
小唯快跑啊
TA贡献1863条经验 获得超2个赞
1:我的主线程接到访问后,会创建多个线程来提供服务吗?
是的,server端的线程一直处于阻塞状态,每来一个客户端的请求就会创建一个子线程去run
2:创建的多个线程后,系统会自动回收吗? 如果访问过多的话,,怎么处理???
一个线程对象跑结束后,系统会自动回收的。访问过多,你可以利用ThreadPool线程池来处理更多的并发请求
添加回答
举报
0/150
提交
取消