我写2个线程,线程1一直执行,线程2不定时执行,当线程2想执行时,线程1就要停下来让线程2执行。我像下面这么写行吗?  这不能让这两个线程同时执行,用synchronized没错吧可我一执行程序就java.lang.IllegalMonitorStateException。指定错误行数是wait()和notify()这两行都错了谁能指点一下~~~~~谢谢public class Test
{
Object o = new Object();
boolean b = false;

public static void main(String[] args)
{
new Thread(new Thread1()).start();
new Thread(new Thread2()).start();
} private class Thread1 implements Runnable
{
public void run()
{
a();
}
private void a() throws InterruptedException
{
synchronized(o)
{
if(b)
{
wait();
}
//执行内容 
}
}
}


private class Thread2 implements Runnable
{
public void run()
{
b();
}

private void b() throws InterruptedException
{
b = true;

synchronized(o)
{
//执行内容
b = false;
notify();
}

}
}
}