課程
/后端開發(fā)
/Java
/細(xì)說Java多線程之內(nèi)存可見性
join()方法是否有類似于synchronized關(guān)鍵字的功能。但join()感覺是將多線程干成了單線程
2016-02-22
源自:細(xì)說Java多線程之內(nèi)存可見性 3-1
正在回答
synchronized是java語言特性,join()方法你可以理解為僅僅是Thread類作者提供的一個(gè)覺得可能較為通用的工具方法。在B對(duì)象的方法中執(zhí)行ThreadA.join()方法,其結(jié)果是在B對(duì)象方法調(diào)用處,通過死循環(huán)檢測ThreadA是否死亡(isAlive()方法),如果死亡(理解為ThreadA的run()方法運(yùn)行結(jié)束)則繼續(xù)B對(duì)象的方法后續(xù)代碼執(zhí)行。建議閱讀join()方法源碼
把指定的線程加入到當(dāng)前線程,可以將兩個(gè)交替執(zhí)行的線程合并為順序執(zhí)行的線程。比如在線程B中調(diào)用了線程A的Join()方法,直到線程A執(zhí)行完畢后,才會(huì)繼續(xù)執(zhí)行線程B。差不多
問度娘
舉報(bào)
用兩種方式實(shí)現(xiàn)內(nèi)存可見性,代領(lǐng)大家深層次學(xué)習(xí)Java中的內(nèi)存
2 回答用Join關(guān)鍵字替換While那個(gè)判斷效果是一樣的嘛?
1 回答volatile不能保證原子性,解決方法
1 回答在write和方法上加synchronized不能保證結(jié)果一定是6
2 回答?主內(nèi)存與java內(nèi)存區(qū)域(堆,方法區(qū))有什么區(qū)別?
3 回答讀寫方法上面加了synchronized關(guān)鍵字,不能保證原子性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-10-10
synchronized是java語言特性,join()方法你可以理解為僅僅是Thread類作者提供的一個(gè)覺得可能較為通用的工具方法。在B對(duì)象的方法中執(zhí)行ThreadA.join()方法,其結(jié)果是在B對(duì)象方法調(diào)用處,通過死循環(huán)檢測ThreadA是否死亡(isAlive()方法),如果死亡(理解為ThreadA的run()方法運(yùn)行結(jié)束)則繼續(xù)B對(duì)象的方法后續(xù)代碼執(zhí)行。建議閱讀join()方法源碼
2016-06-14
把指定的線程加入到當(dāng)前線程,可以將兩個(gè)交替執(zhí)行的線程合并為順序執(zhí)行的線程。比如在線程B中調(diào)用了線程A的Join()方法,直到線程A執(zhí)行完畢后,才會(huì)繼續(xù)執(zhí)行線程B。差不多
2016-02-23
問度娘