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