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

import java.lang.*;
public class text11
{
public static void main(String args[])
{
new TestThread().start();
for(int i=0;i<10;i++)
{
System.out.println("main 线程在运行");
}
}
}
class TestThread extends Thread
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("TestThread 在运行");
}
}
}

其实这个是多线程的 只不过现象不明显而已,在线程启动前,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 在运行追问

好吧,谢谢啦

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-25
你在TestThread中加一个构造函数,在里面super一下才行追问

能不能给我一个修改后的代码,谢谢啦

第2个回答  2013-07-25
你写了thread的内建class, 没有调用它的run()啊= =追问

在多线程里用Start()调用

相似回答