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

importjava.lang.*;publicclasstext11{publicstaticvoidmain(Stringargs[]){newTestThread(... 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 在运行");
}
}
}
展开
 我来答
bathshawn
2013-07-25 · TA获得超过318个赞
知道答主
回答量:86
采纳率:100%
帮助的人:73.5万
展开全部
其实这个是多线程的 只不过现象不明显而已,在线程启动前,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 在运行
追问
好吧,谢谢啦
iamcjy132
2013-07-25 · 超过11用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:29.3万
展开全部
你在TestThread中加一个构造函数,在里面super一下才行
追问
能不能给我一个修改后的代码,谢谢啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nannanontherun
2013-07-25 · 超过22用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:67.9万
展开全部
你写了thread的内建class, 没有调用它的run()啊= =
追问
在多线程里用Start()调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式