国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java 中的synchronized鎖代碼塊的時(shí)候需不需要這個(gè)類是單例

瀏覽:126日期:2023-10-25 10:40:31

問(wèn)題描述

當(dāng)它鎖定一個(gè)方法或者一個(gè)代碼塊的時(shí)候,同一時(shí)刻最多只有一個(gè)線程執(zhí)行這段代碼。當(dāng)兩個(gè)并發(fā)線程訪問(wèn)同一個(gè)對(duì)象object中的這個(gè)加鎖同步代碼塊時(shí),一個(gè)時(shí)間內(nèi)只能有一個(gè)線程得到執(zhí)行。另一個(gè)線程必須等待當(dāng)前線程執(zhí)行完這個(gè)代碼塊以后才能執(zhí)行該代碼塊。

那問(wèn)題來(lái)了,如果兩個(gè)線程訪問(wèn)的是這個(gè)對(duì)象的不同實(shí)例,還會(huì)阻塞嗎?

問(wèn)題解答

回答1:

synchronized的用法有以下三種

指定對(duì)象加鎖。類似于synchronized (instance) {}。

直接作用于實(shí)例方法。相當(dāng)于對(duì)當(dāng)前實(shí)例加鎖,進(jìn)入同步方法前要獲得當(dāng)前實(shí)例的鎖。

直接作用于靜態(tài)方法。相當(dāng)于對(duì)當(dāng)前類加鎖,進(jìn)入同步方法前獲得當(dāng)前類的鎖。

對(duì)于上面的1、2.必須是同一對(duì)象或者同一實(shí)例時(shí)才會(huì)使線程阻塞。

回答2:

鎖是加在對(duì)象實(shí)例上的。加在不同對(duì)象上的鎖是不會(huì)相互影響的。兩個(gè)線程訪問(wèn)兩個(gè)不同對(duì)象,是不會(huì)相互阻塞的。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 大兴区| 建水县| 石屏县| 汉中市| 会理县| 张家口市| 兰溪市| 三门县| 扶余县| 五常市| 沈丘县| 宣武区| 桂东县| 苏尼特右旗| 陈巴尔虎旗| 青海省| 平潭县| 德江县| 潞城市| 东丰县| 丰都县| 连平县| 新郑市| 常山县| 扎兰屯市| 平度市| 阜南县| 贡嘎县| 儋州市| 讷河市| 桃江县| 深州市| 兴国县| 雷山县| 无锡市| 龙南县| 疏勒县| 昆明市| 嫩江县| 白朗县| 阿瓦提县|