gpt4 book ai didi

java - 为什么没有调用run方法?

转载 作者:行者123 更新时间:2023-11-30 05:04:09 24 4
gpt4 key购买 nike

package threadwork;

public class WorkingWithThreads implements Runnable {

public static void main(String[] args) {
WorkingWithThreads wwt = new WorkingWithThreads();
}

public WorkingWithThreads() {
System.out.println("Creating Thread");
Thread t = new Thread();
System.out.println("Starting Thread");
t.start();
}

@Override
public void run() {
System.out.println("Thread Running");

for (int i = 0; i < 5; i++) {
System.out.println("Thread:" + i);
try {
Thread.sleep(1);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

当我运行此代码时,它会打印“正在创建线程”和“正在启动线程”。但不打印 Thread Running,这意味着 run 函数根本没有被调用。为什么会这样?

最佳答案

您必须在线程上调用start()才能启动它;例如

Thread t = new Thread();
t.start();

如果您要扩展Thread,您将创建一个新线程并对其调用start(),如下所示:

new MyThread().start();

由于您没有扩展Thread,但您的类实现了Runnable:

new Thread(new WorkingWithThreads()).start();

关于java - 为什么没有调用run方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com