摘自http://bbs.csdn.net/topics/390216019 #1#3樓xiars123
很多人用synchronized(參數(shù))時(shí),隨便找個(gè)string,hashmap就作為參數(shù)了。關(guān)鍵這個(gè)參數(shù)是怎么用?
同一時(shí)間只能有一個(gè)線(xiàn)程可以訪(fǎng)問(wèn)synchronized塊內(nèi)的內(nèi)容,本質(zhì)是一把鎖,(參數(shù))規(guī)定了鎖的類(lèi)型,可以是對(duì)象或者類(lèi)的鎖,說(shuō)白了這個(gè)參數(shù)決定的是這把鎖的作用范圍。
例如:
class 人人 你 = new 人();人 我 = new 人();如果是synchronized(你){吃飯();}那么說(shuō)明你只能一頓一頓吃,不能同時(shí)(多線(xiàn)程)吃好幾頓飯;如果是synchronized(人.class){吃飯();}那么只要我在吃飯,你就不能吃飯,得等我吃完!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注