类型ServerWorker的方法start()未定义。。。。。(java可运行)

类型ServerWorker的方法start()未定义。。。。。(java可运行),java,multithreading,undefined,runnable,Java,Multithreading,Undefined,Runnable,好的,我以前用Java做过线程处理,但我认为应该是正确的,这给了我这个错误 package com.mdog.tcpserver; import java.net.*; import java.io.*; public class ServerDriver { public static void main(String[] args) throws IOException { ServerSocket serverSocket = null;

好的,我以前用Java做过线程处理,但我认为应该是正确的,这给了我这个错误


package com.mdog.tcpserver;
import java.net.*;
import java.io.*;

public class ServerDriver {


     public static void main(String[] args) throws IOException {

         ServerSocket serverSocket = null;
         boolean listening = true;

         /* bind welcome socket to port */
         try {
             serverSocket = new ServerSocket(1313);
         } catch (IOException e) {
             System.err.println("Could not listen on port: 1313.");
             System.exit(1);
         }


         /* assign thread to each client */
         while(listening){
         new ServerWorker(serverSocket.accept()).start();
         }

         /* close the socket and quit */
         serverSocket.close();
         return;
 }
}




---------


package com.mdog.tcpserver;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class ServerWorker implements Runnable {

    private Socket socket = null;

 public ServerWorker(Socket s){
  super();
  this.socket = s;
 }



 public void run() {

         (stuff happens)

    } 
}


错误在这一行“newserverworker(serverSocket.accept()).start();”上,它说。。。“类型ServerWorker的方法start()未定义”

新线程(新ServerWorker(serverSocket.accept())。start()

新线程(新的ServerWorker(serverSocket.accept()).start()


对不起,我不知道如何在评论中添加评论。但是

在一段时间内开始新线程???我想这段代码会在一秒钟内崩溃


这是错误的。accept()块。为每个新套接字(也称为连接客户端)创建新线程(或者正如已经给出的正确答案所指出的那样)。在while循环中启动新线程与在任何其他循环中启动新线程相比没有什么错,只要它是合适的,在本例中就是这样。

对不起,我不知道如何在注释中添加注释。但是

在一段时间内开始新线程???我想这段代码会在一秒钟内崩溃


这是错误的。accept()块。为每个新套接字(也称为连接客户端)创建新线程(或者正如已经给出的正确答案所指出的那样)。在while循环中启动新线程与在任何其他循环中启动新线程相比,只要合适就没有问题,在本例中就是这样。

您需要50次重复才能发表评论。我不明白为什么苏认为你需要销售代表才能添加评论。是的,我终于明白了。谢谢。那么cotton.m显然需要代表,因为他的想法是正确的。谢谢你的评论。谢谢cotton.myou需要50次才能发表评论。我不明白为什么苏认为你需要销售代表才能添加评论。是的,我终于明白了。谢谢。那么cotton.m显然需要代表,因为他的想法是正确的。谢谢你的评论。谢谢你,科顿