下面是对读者写者问题的模拟,但是运行时,总是出现java.lang.IllegalMonitorStateException异常。检查是notify和wait两个语句的问题。虽然将wait和notify都放在synchronized(){}中,可以消除异常,但是程序无法正常终止,似乎是出现了死锁。但是将wait不放在synchronized(){}中,虽然程序可以运行完成,但会出现上述异常。部分代码如下:
下面是对读者写者问题的模拟,但是运行时,总是出现java.lang.IllegalMonito