併發編程實戰筆記-第2章

1、無狀態的對象一定是線程安全的。

2、不恰當的執行時序,出現不正確的結果,定義爲競態條件。

3、單狀態變量,使用原子類型

4、多狀態變量交互,使用synchronzied,包括2部分,1、要鎖定的對象 2、要保護的代碼塊。

被保護的代碼塊,操作可看成一個事務。

5、內置鎖是可重入的,也就是自己去獲取自己已經獲得了鎖的鎖的時候,可以獲得。

6、一種加鎖約定:將所有可變對象都放入對象內部,通過內部鎖來加持所有涉及可變對象的操作。

7,內部鎖可以確保單個函數或代碼塊的原子性,但當多個內部鎖保護的函數一塊組成操作時,也許加鎖保護。

8、要仔細權衡鎖的大小,太大,影響性能。太小會打不成同步目的,或徒增複雜度。

要在安全性,性能,簡單性這3個方面做平衡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章