JAVA多線程本質分析


       多線程是Java開發中的重中之重,其重要性和難度,可見一斑。掌握並精通多線程開發,是每一個程序員的必修之課。哪怕中間的過程很痛苦,只要堅持了,並最終豁然開朗了,都是一種升華。

       多線程的優化:合理利用CPU,使用多線程並行取代單線程串行,可以顯著提升系統性能。

       多線程線程安全問題,本質上就是資源共享問題。如果多線程之間彼此獨立,互不影響,這種情況是不存在線程安全問題的。如果多線程之間涉及共享資源,此時處理不當,就存在線程安全問題。舉個簡單的例子:A、B、C三人各自有一塊蛋糕,他們之間不存在競爭關系,不會出現矛盾;A、B、C共享一塊蛋糕,則他們之間存在競爭關系,會出現矛盾。

       那么,如何解決多線程線程安全問題呢?兩種思路:隔離資源;同步共享資源。

       一、隔離資源:使用ThreadLocal隔離資源,即將共享資源備份到各自的線程單獨處理。

       二、同步共享資源:既然是共享資源,就想辦法控制,在同一時刻,只有一個線程來操作共享資源。使用的技術有:使用synchronized同步關鍵字;使用reentrantlock等更加靈活的鎖工具;使用CAS無鎖思想。

       本篇只是引題,后面的篇幅將會詳細講述具體的實踐案例。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM