原文:當一個線程進入一個對象的一個synchronized方法后, 其它線程是否可進入此對象的其它方法?

分幾種情況: .其他方法前是否加了synchronized關鍵字,如果沒加,則能。 .如果這個方法內部調用了wait,則可以進入其他synchronized方法。 .如果其他個方法都加了synchronized關鍵字,並且內部沒有調用wait,則不能。 .如果其他方法是static,它用的同步鎖是當前類的字節碼,與非靜態的方法不能 同步,因為非靜態的方法用的是this。 ...

2017-12-03 16:47 0 1451 推薦指數:

查看詳情

一個線程進入一個對象一個synchronized方法,其它線程是否可進入對象的其它方法?

一個線程進入一個對象一個synchronized方法,其它線程是否可進入對象的其它方法?(2nd) 日前在網上見到一道Java筆試試題,如題所述。給出的答案如下: 答:不能,一個對象一個synchronized方法只能由一個線程訪問。 本人認為有些所答非所問。故寫了兩個 ...

Mon Jan 15 08:14:00 CST 2018 0 2537
如果一個對象有多個方法加了 synchronized,那么該對象有幾把鎖?

答案是一把鎖 🔐 代碼示例: 對象鎖是在一個類的對象上加的的鎖,只有一把,不管有幾個方法進行了同步。 這些同步方法都共有一把鎖,只要一個線程獲得了這個對象鎖,其他的線程就不能訪問該對象的任何一個同步方法對象鎖: synchronized 修飾實體里的非靜態變量,鎖 ...

Sat Dec 28 02:01:00 CST 2019 0 1285
java線程同步 synchronized失效???(理解好是否上鎖的是同一個對象,因為同一個對象對應的run( ) 是同一個

java線程同步 synchronized失效???(理解好是否上鎖的是同一個對象) 看是否給同一個對象上鎖! 情況是1:多個線程執行同個對象,即多個運行任務的線程執行同一個任務對象 情況2:多個線程執行不同的多個對象,即多個運行任務的線程執行不同的多個任務對象 ...

Thu May 20 08:49:00 CST 2021 1 1035
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM