请教:java的子线程和主控线程之间的关系?

04-10-18 myvrml
主控线程:A实际上是一个servlet
b.run();
andDoAnotherThing();
子线程:B类似守护进程,是一个死循环,
run(){
while(true){
if(ok){
doSth();
}
else
{
wait(1000);
}
}

我现在的问题是:希望执行b.run()后还能执行andDoAnotherThing(),但实际上程序陷入到了while(true)里面出不来了,后面的andDoAnotherThing没办法执行,请问该如何做?

wm_creat
2004-10-20 09:34
b.run 改成 b.start(当然创建的b是先挂起的,直到调用start)

wm_creat
2004-10-20 09:49
随便试试
public class b extends Thread {
b(){
super();
}
public void run() {
System.out.println("start");
while (true){;}
}
}


public class a{
public static void main(String[] args) {
b t = new b();
System.out.println("init");
t.start();//改成run方法就不会往下走了,这是普通的函数调用
System.out.println("do otherthing");
}
}