Re: [問題] 老梗synchronized

看板java作者 (小安)時間18年前 (2007/10/18 20:28), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《easy1 (e :) y)》之銘言: : 那 bar1 和 bar2 可以 被不同thread 同時執行嗎? : 我認為no 因為synchronized會用同樣的lock object : 而且 實驗後也是不行 : 只是想確認一下 thanks 沒錯,是不行 synchronized void bar1() { ... } 這樣的寫法意義上與下面的寫法相同 void bar1(){ synchronized(this){ ... } } 被鎖住的是 Object,不是 Method。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.239

10/18 20:30, , 1F
說「把 Thread 鎖在 Object 上面」會不會比較適當?
10/18 20:30, 1F

10/18 22:42, , 2F
應該是 Object 被鎖, Thread 因無法再次上鎖而停下來等
10/18 22:42, 2F

10/20 11:34, , 3F
所以建立不同的Object,就能一個跑bar1一個跑bar2?
10/20 11:34, 3F
文章代碼(AID): #175r5y9i (java)
討論串 (同標題文章)
文章代碼(AID): #175r5y9i (java)