Java并发编程实战————并发技巧小结
生活随笔
收集整理的這篇文章主要介紹了
Java并发编程实战————并发技巧小结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 可變狀態(tài)是至關(guān)重要的。所有的并發(fā)問題都可以歸結(jié)為如何協(xié)調(diào)對并發(fā)狀態(tài)的訪問。可變狀態(tài)越少,就越容易確保線程安全性。
- 盡量將域聲明為final類型,除非需要它們是可變的。
- 不可變對象一定是線程安全的。不可變對象能極大地降低并發(fā)編程的復(fù)雜性。它們更為簡單而且安全,可以任意共享而無須使用加鎖或保護(hù)性復(fù)制等機制。
- 封裝有助于管理復(fù)雜性。在編寫線程安全的程序時,雖然可以將所有數(shù)據(jù)都保存在全局變量中,但為什么要這么做?將數(shù)據(jù)封裝在對象中,更易于維持不變形條件:將同步機制封裝在對象中,更易于遵循同步策略。
- 用鎖來保護(hù)每個可變變量。
- 當(dāng)保護(hù)同一個不可變條件中的所有變量時,要使用同一個鎖。
- 在執(zhí)行復(fù)合操作期間,要持有鎖。
- 如果從多個線程中訪問同一個可變變量時沒有同步機制,那么程序會出現(xiàn)問題。
- 不要故作聰明地推斷出不需要使用同步。
- 在設(shè)計過程中考慮線程安全,或者在文檔中明確地指出它不是線程安全的。
- 將同步策略文檔化。
總結(jié)
以上是生活随笔為你收集整理的Java并发编程实战————并发技巧小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java排序算法之--快速算法--快速上
- 下一篇: Spring Boot——Redis安装