为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

杨魅力 2019-03-21 14:15:54
创建主线程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线程池来处理更多的并发请求


查看完整回答
反对 回复 2019-04-29
  • 1 回答
  • 0 关注
  • 387 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信