作者linshihhua (linshihhua)
看板java
標題[問題]thread與synchronized
時間Thu Apr 21 17:27:39 2022
※狀況概述:
在練習thread與synchronized時不清楚為何程式會出現錯誤
※程式碼:
https://imgur.com/a/zOcGONm
※錯誤訊息:
Exception in thread "Thread-0" java.lang.IllegalMonitorStateException
at java.lang.Object.notifyAll(Native Method)
at TestMainClass.lambda$0(TestMainClass.java:17)
at java.lang.Thread.run(Thread.java:748)
※補充說明:
查到的可能錯誤原因是因為在調用object的notifyAll方法時的thread
本身沒有獲取到該object,但我有使用synchronized,所以應該是thread要先
獲取到該object才能繼續執行後面相關程式碼,想請問我理解的是否有問題?
麻煩各位幫忙解答,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.235.135.58 (馬來西亞)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1650533263.A.58C.html
1F:→ Chikei: objDouble在synchronized下一行就指到不同的object啦 04/21 18:04
2F:→ linshihhua: 自動裝箱指向不同的Double object,以為只是改掉值 04/21 19:49
3F:→ linshihhua: 都忘記會自動裝箱了,感謝解答 04/21 19:50