解決線程安全問題的方式二:同步函數(shù):使用synchronized修飾的一個函數(shù)。
注意:1.如果是一個非靜態(tài)的同步函數(shù)的鎖對象是this對象,如果是靜態(tài)的同步函數(shù)的鎖對象是所屬類的字節(jié)碼文件(class對象)
? ? ? ? ? ? 2.同步函數(shù)的鎖對象是固定的,不能有我們來決定。
推薦使用:同步代碼塊
1.同步代碼塊的鎖對象可以由我們自己來決定,而同步函數(shù)則固定,不能由我們來決定
2.同步代碼塊可以很方便的控制需要被同步的代碼,而同步函數(shù)必須是整個函數(shù)所有的代碼都被同步。