关于多线程问题,求解答!

创建主线程

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:创建的多个线程后,系统会自动回收吗?    如果访问过多的话,,怎么处理???


杨魅力
浏览 388回答 1
1回答

小唯快跑啊

1:我的主线程接到访问后,会创建多个线程来提供服务吗?是的,server端的线程一直处于阻塞状态,每来一个客户端的请求就会创建一个子线程去run2:创建的多个线程后,系统会自动回收吗? 如果访问过多的话,,怎么处理???一个线程对象跑结束后,系统会自动回收的。访问过多,你可以利用ThreadPool线程池来处理更多的并发请求
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java