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

多线程wait方法使用问题
public class test2 extends Thread {
public synchronized void run()
{
start();
System.out.println(System.currentTimeMillis());
try {
                   wait(1000);
                   notify();
System.out.println(System.currentTimeMillis());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void main(String[] args) {
test2 t=new test2();
t.run();
}
}

我就是想在wait之前打印下时间,之后也打印下时间,但是不知道为什么老是报错Exception in thread "Thread-0" java.lang.IllegalThreadStateException,求大神指点下。。。
------解决方案--------------------
线程启动的方法是thread.start(),而不是直接调用run().run()方法里不要再调用start()