我有如下圖所示,它使用的CyclicBarrier的方法:拋出:IllegalMonitorStateException - 的CyclicBarrier
public void getMessage(Message obj){
CyclicBarrier barrier = new CyclicBarrier(1, new Runnable() {
@Override
public void run() {
synchronized(obj){
System.out.println("--The End --");
}
}
});
executor.execute(new Runnable() {
@Override
public void run() {
synchronized(obj){
//Perform some routine with message object
}
try {
barrier.wait();//java.lang.IllegalMonitorStateException thrown on this line
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
在這裏我等待程序執行完的時候,我得到:
Exception in thread "pool-2-thread-3"
java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
難道有誰知道我在這裏做錯了什麼?
我已經聽取了Jon Skeet和Jack的建議,並按要求完成了。謝謝。 – Bitmap 2010-12-03 14:47:39