答:
大部分時候我們並沒有在系統中使用多線程,所以很少有人會關注這個問題。
單例bean存在線程問題,主要是因為當多個線程操作同一個對象的時候,對這個對象的非靜態成員變量的寫操作會存在線程安全問題。
常見的有兩種解決辦法:
1、在Bean對象中盡量避免定義可變的成員變量(不太現實)。
2、在類中定義一個ThreadLocal成員變量,將需要的可變成員變量保存在ThreadLocal中(推薦的一種方式)。
答:
大部分時候我們並沒有在系統中使用多線程,所以很少有人會關注這個問題。
單例bean存在線程問題,主要是因為當多個線程操作同一個對象的時候,對這個對象的非靜態成員變量的寫操作會存在線程安全問題。
常見的有兩種解決辦法:
1、在Bean對象中盡量避免定義可變的成員變量(不太現實)。
2、在類中定義一個ThreadLocal成員變量,將需要的可變成員變量保存在ThreadLocal中(推薦的一種方式)。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。