java多线程,为什么运行起来还是单线程?下面是代码

2024-12-20 09:19:00
推荐回答(3个)
回答1:

其实这个是多线程的 只不过现象不明显而已,在线程启动前,main函数就已经执行完了。
以下是我的测试代码,将主函数加了一个死循环,你看一下结果

package com;
import java.lang.*;
public class Demo {
public static void main(String args[]) {

new TestThread().start();
for (int i = 0; i < 10; i++) {
System.out.println("main 线程在运行");
while(true)
{

}
}
}
}
class TestThread extends Thread {

public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("TestThread 在运行");
}
}
}

结果是:
main 线程在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行

回答2:

你在TestThread中加一个构造函数,在里面super一下才行

回答3:

你写了thread的内建class, 没有调用它的run()啊= =