Java 启动两个线程?

Java starting two threads?

我是 java 的新手。我有两个看起来像的类:

public class hsClient implements Runnable {

  public void run() {
    while(true){
    }
  }
}

public class hsServer implements Runnable {

  public void run() {
    while(true){
    }
  }
}

如果我尝试将两个类作为线程启动,它不会启动第二个线程。看起来他卡在了第一个。

这是我的主课:

public static void main(String[] args) throws IOException {
        hsClient client = new hsClient();
        Thread tClient = new Thread(client);
        tClient.run();
        System.out.println("Start Client");
        hsServer server = new hsServer();
        Thread tServer = new Thread(server);
        tServer.run();
        System.out.println("Start Server");
}

如果我运行我的代码,它只会在控制台上打印 "Start Client" 而不会打印 "Start Server"

tClient.run() 替换为 tClient.start(),将 tServer.run() 替换为 tServer.start()

调用run方法直接在当前线程中执行,而不是在新线程中执行。

要启动线程,请使用 start 方法。

Thread tClient = new Thread(client);
tClient.start(); // start the thread

可以找到有关线程的更多信息,例如在 JavaDoc