最新回答 / pythonxx
單線程并且有數(shù)據(jù)依賴關(guān)系
線程互斥代碼的過(guò)程
1.獲得互斥鎖、
2.清空工作內(nèi)存
3.從主內(nèi)存中獲得副本
4.執(zhí)行代碼
5.將更改后的共享變量值刷新到主內(nèi)存中去
6.釋放互斥鎖
1.獲得互斥鎖、
2.清空工作內(nèi)存
3.從主內(nèi)存中獲得副本
4.執(zhí)行代碼
5.將更改后的共享變量值刷新到主內(nèi)存中去
6.釋放互斥鎖
2016-09-16
C,
當(dāng)一個(gè)線程訪問(wèn)object的一個(gè)synchronized(this)同步代碼塊時(shí),其他線程對(duì)object中所有其它synchronized(this)同步代碼塊的訪問(wèn)將會(huì)被阻塞。
當(dāng)一個(gè)線程訪問(wèn)object的一個(gè)synchronized(this)同步代碼塊時(shí),其他線程對(duì)object中所有其它synchronized(this)同步代碼塊的訪問(wèn)將會(huì)被阻塞。
2016-08-12
最新回答 / 慕斯0128424
這么跟你解釋:一行java代碼被cpu執(zhí)行的時(shí)候執(zhí)行的是若干條cpu指令,synchronized對(duì)應(yīng)到cpu執(zhí)行若干條指令,但是volatile也對(duì)應(yīng)若干條指令,相同的是他們對(duì)應(yīng)的指令有一些相同的,即有重疊,但是又有差異,于是功能有相同也有差異。他們的使用場(chǎng)景也是如此。你現(xiàn)在不適合去理解深沉原理,先學(xué)會(huì)用,用對(duì)場(chǎng)景。
2016-07-28
不是說(shuō)volatile不保證原子性嗎?為什么對(duì)于64位類型的變量用volatile修飾?
JAVA 規(guī)定的。JAVA 說(shuō)這么寫(xiě) 就給你的64位 保證原子性,就這么任性,怎么地。
JAVA 規(guī)定的。JAVA 說(shuō)這么寫(xiě) 就給你的64位 保證原子性,就這么任性,怎么地。
2016-07-07