[問題] 深入淺出Java,thread內文請教

看板java作者 (CH)時間10年前 (2014/11/14 19:11), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
各位好,目前正在看深入淺出Java, 在p511說明thread的章節有一段話: 每個物件都有個lock,,lock不是配在method上的, 他是配在物件上。如果物件有兩個synchronized過的 method,就代表兩個thread 無法進入同一個method, 這邊我OK,但下一句,「也表示兩個thread無法進入 不同的method。」這邊我就不解了,這兩個thread不能各自 進入不同的synchronized嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.12.67 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1415963490.A.97A.html

11/14 19:24, , 1F
synchronize method = synchronize(this)
11/14 19:24, 1F

11/14 21:59, , 2F
如果我這樣理解,一個物件可以有多個synchronized的
11/14 21:59, 2F

11/14 22:00, , 3F
method,但就只有一個lock,某個thread進到任一個synchr
11/14 22:00, 3F

11/14 22:00, , 4F
onized的method就會把唯一的key拿走了,其他的method
11/14 22:00, 4F

11/14 22:00, , 5F
別的thread自然也進不來了?
11/14 22:00, 5F

11/15 21:32, , 6F
正解,反倒是那翻譯讓人不知所云啊orz
11/15 21:32, 6F
文章代碼(AID): #1KPUDYbw (java)
文章代碼(AID): #1KPUDYbw (java)