请教: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");

}

}

猜你喜欢