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