springboot中controller单例模式多线程安全的简单理解
生活随笔
收集整理的這篇文章主要介紹了
springboot中controller单例模式多线程安全的简单理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
若每個線程中對靜態變量(類變量)、實例變量(對象變量)只有讀操作,而無寫操作,一般來說,這個全局變量是線程安全的;若有多個線程同時執行寫操作,一般都需要考慮線程同步,否則就可能影響線程安全。
1)?常量始終是線程安全的,因為只存在讀操作。?
2)局部變量是線程安全的。因為每執行一個方法,都會在獨立的空間(棧幀)創建局部變量,它不是共享的資源。局部變量包括方法的參數變量和方法內變量。
3)每次調用方法前都新建一個實例是線程安全的,因為不會訪問共享的資源。(多例)
4)成員變量(實例變量和類變量)會受到多線程影響
5)對于成員變量的操作,可以使用ThreadLocal來保證線程安全
另外類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變后的結果;而對象變量則屬對象私有,某一個對象將其值改變,不影響其他對象。
總結
以上是生活随笔為你收集整理的springboot中controller单例模式多线程安全的简单理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java按照时间顺序从hbase中读出数
- 下一篇: 分布领域驱动设计(DDD):领域接口化设