日期:2014-05-20  浏览次数:20781 次

java多线程问题(main函数中的thread已启动,后面的代码就不执行了)
package com.java.traffic;

import java.util.ArrayList;


public class ThreadTest2 {

public void runCar12(){
while(true){
System.out.println("runCar thread running");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

public static class Crun extends Thread{
ThreadTest2 c=null;
ArrayList<Light> lgts=null;
public Crun(ThreadTest2 c){
this.c=c;
}
public void run(){
c.runCar12();
}
}
public static void main(String[]args){
ThreadTest2 c=new ThreadTest2();
System.out.println("------------A");
Thread t=new Crun(c);
t.run();
System.out.println("------------B");

}
}


main函数中的thread已启动,后面的代码就不执行了
我是新手,这个问题奋战了一天了,望大神帮忙看一下……
java 多线程

------解决方案--------------------
启动线程用t.start()
------解决方案--------------------
楼主,启动线程是调用start()方法。

你直接t.run(),相当于方法调用。
------解决方案--------------------
启动线程用start,run是一个方法
------解决方案--------------------
t.start(),not t.run()
------解决方案--------------------
引用:
启动线程用t.start()

------解决方案--------------------
start()开启一个新线程,如果用run()想当于在住线程调用了一个方法。。