第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么set.add(v)是臨界區(qū)

set.add(v)每個線程只是初始化的時候才會調(diào)用,調(diào)用的時候,誰搶占到set這個變量,添加值的時候,不都是值等于0的這個對象v嗎

正在回答

4 回答

這個HashSet和HashMap的多線程調(diào)用時是一樣的風(fēng)險,在擴容時有可能導(dǎo)致死循環(huán),所以要用同步的容器或者同步代碼塊去調(diào)用“添加”的方法

1 回復(fù) 有任何疑惑可以回復(fù)我~

我同意樓主的看法,加鎖與否不影響該問題的結(jié)果??赡芾蠋熛氡磉_的意思是,set作為臨界資源,加鎖更好,便于以后代碼的修改吧。

0 回復(fù) 有任何疑惑可以回復(fù)我~

這里我測試不加鎖1000個線程跑100000也是正常的

http://img1.sycdn.imooc.com//5e577fd20001465906060330.jpg

http://img1.sycdn.imooc.com//5e577fe80001a76804260234.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~

多個線程初始化的時候會可能會產(chǎn)生多個線程同時調(diào)用set.add(v);? 對set有操作

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么set.add(v)是臨界區(qū)

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號