EnergySystem 里面的lockObj 換成energyBoxes
把lockObj換成energyBoxes應(yīng)該也是可以的吧,加鎖的時(shí)候只要鎖住被操作的共享資源,也就是EnergySystem?
里面的全局變量energyBoxes也可以吧,比如EnergySystem ?里面有兩個(gè)類似energyBoxes的共享資源---->x,有其他的方法操作另外的共享資源x,如果只是lockObj加鎖,但是不同方法操作的是不同的資源這樣會(huì)不會(huì)效率特別低呢?因?yàn)閮蓚€(gè)資源之間根本沒(méi)有關(guān)系,但是鎖卻是同一個(gè)--lockObj,假設(shè)我們鎖在相應(yīng)的共享資源也就是energyBoxes和另外一個(gè)共享資源x上,那么線程并發(fā)操作兩個(gè)資源時(shí)之間沒(méi)有干擾。這樣會(huì)不會(huì)更好點(diǎn)一點(diǎn)?還是說(shuō)需要再多創(chuàng)建一個(gè)針對(duì)共享資源X類似lockObj的鎖? 謝謝授課老師,請(qǐng)您百忙之中抽出一點(diǎn)時(shí)間
2015-01-14
首先從語(yǔ)法上,lockObj換成energyBoxes是可以的,不過(guò)易讀性是否降低你要考慮了。第二點(diǎn),效率要讓位于安全。如果多個(gè)資源是無(wú)關(guān)的,自然可以不同的鎖來(lái)互斥(那為什么要放在同一個(gè)類里面呢?恐怕要反思設(shè)計(jì)了),如果資源對(duì)線程的訪問(wèn)有嚴(yán)格的互斥約束,那么就不能有多個(gè)鎖對(duì)象。
2015-01-14
這里真的不錯(cuò),學(xué)的很多
2015-01-14
學(xué)習(xí)了很多