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