1、方法變量爲線程安全
2、實例變量線程不安全
3、synchronized關鍵詞獲取的都是對象鎖,而不是把一段代碼或方法當作鎖
4、
1)、A線程先持有object對象的Lock鎖,B線程可以以異步的方式調用object對象中的費synchronized類型的方法。
2)、A線程先持有object對象的Lock鎖,B線程如果在這時調用object對象中的synchronized類型的方法則需等待,也就是同步。
5、關鍵詞synchronized擁有鎖重入的功能,也就是在使用synchronized時,當一個線程得到一個對象鎖後,再次請求此對象的鎖時是可以再次得到該對象的鎖的。
6、當一個線程執行的代碼出現異常時,其所持有的鎖會自動釋放
7、同步不具有繼承性。
9、當一個線程訪問object的一個synchronized(this)同步代碼塊時,其他線程對同一個object中所有其他synchronized(this)同步代碼塊的訪問將被阻塞。