一个线程的题目,挺有趣的
为Thread撰写两个子类,其中一个的run()在启动后取得第二个Thread object reference,然后调用wait()。另一个子类的run()在过了数秒之后调用notifyAll(),唤醒第一个线程,使第一个线程可以印出消息我写的代码是如下,但是造成死循环了,应该怎么改才能满足题目的要求,
class A extends Thread
{
public void run()
{
B b=new B();
b.start();
waitFor();
System.out.println("我可以运行了");
}
public synchronized void waitFor()
{
try
{
wait();
}
catch(InterruptedException e){
}
}
}
class B extends Thread
{
public void run()
{
try
{
sleep(500);
}
catch(InterruptedException e){
}
notifyAllFor();
}
public synchronized void notifyAllFor()
{
notifyAll();
}
}
class C
{
public static void main(String args[])
{
A a=new A();
a.start();
}
}