线程的锁

来源:互联网 发布:淘宝限时抢购是真的吗 编辑:程序博客网 时间:2024/06/06 09:10

 

这一段代码,运行结果是:

 

withdraw to wait: 333

Exception in thread "main" java.lang.IllegalMonitorStateException

        at java.lang.Object.notify(Native Method)

        at xml.Text.deposit(Text.java:31)

        at xml.Text.main(Text.java:61)

这是由于这一段代码
 
对this.money加锁后,我却有改变了this.money的值,又调用this.money.notify();,所以导致该异常。
比较正确的做法是用moneyMutex变量。如下代码: