文章詳情頁
java - synchronized同步問題
瀏覽:126日期:2024-01-26 09:23:54
問題描述
一個(gè)類中有兩個(gè)同步方法,此時(shí)有多個(gè)線程同時(shí)訪問該對象的兩個(gè)方法,這樣會造成鎖互斥嗎?
問題解答
回答1:是的,鎖住的是這個(gè)對象,并不是一個(gè)方法。
回答2:是的 如果是靜態(tài)方法 鎖住的是類 也就是該類的所有實(shí)例 只能由一個(gè)去訪問 如果是普通方法 ,鎖住的是對象。
回答3:synchronized關(guān)鍵詞鎖定的是對象,也就是對象鎖,靜態(tài)方法可以認(rèn)為獲取的是對應(yīng)的Class對象的鎖。多線程競爭某個(gè)對象的鎖的時(shí)候,只有一個(gè)會拿到鎖。
標(biāo)簽:
java
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. java - instance method中 static后的<K>是什么意思?3. javascript - QWebEngineView 如何爬 angular 的動(dòng)態(tài)數(shù)據(jù)?4. java - 關(guān)于File的問題?5. java - 一段遞歸代碼的問題6. python3.x - python連oanda的模擬交易api獲取json問題第五問7. css3 - 圖片等比例縮放8. 錯(cuò)誤:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V9. html5 - 這個(gè)代碼顯示功能如何實(shí)現(xiàn)?10. node.js - npm 非管理員權(quán)限 全局安裝問題
排行榜

熱門標(biāo)簽