Java启动两个线程? [重复] - java

This question already has answers here:

What is the difference between Thread.start() and Thread.run()?

(9个答案)

5年前关闭。

我是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");
}

如果我运行我的代码,它只会在控制台上显示“启动客户端”,而不是“启动服务器”

java参考方案

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

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

在Java中将华氏度转换为摄氏温度[重复] - java

This question already has answers here: Double value returns 0 [duplicate] (3个答案) 6年前关闭。 我正在尝试将华氏度转换为摄氏温度。现在当我使用此错误时:double fahrenheit=input.nextDouble(); double celsius= ( **5** /…

从long到int,如果long值足够小以适合int [重复] - java

This question already has answers here: Safely casting long to int in Java (10个回答) 7年前关闭。 如果long值足够小以适合int,可以自动将long转换为int吗?long i=1; int j=i; //Error Type mismatch: cannot convert…

为什么在Java中将函数称为方法? [重复] - java

This question already has answers here: What's the difference between a method and a function? (34个答案) 6年前关闭。 为什么函数在Java中被称为方法。我不是要问两者之间的区别。为什么Java社区选择将它们命名为方法。这个决定背后是否有任何具体的原…

除了在类上访问属性时,为什么类在Java中没有定义符号? [重复] - java

This question already has answers here: Are Java classes objects? (4个答案) 在8个月前关闭。 考虑最简单的示例。我们有public class Foo {} 因此我们可以说Foo.class // ==> class Foo 因此,有理由认为Foo应该是java.lang.Class…

使用-source 8或更高版本来启用lambda表达式[重复] - java

This question already has answers here: Specifying java version in maven - differences between properties and compiler plugin (3个答案) 去年关闭。 当我尝试运行Maven构建时遇到构建错误。我创建了一个包含lambda函数的简单J…