這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Spring中單例bean線程不安全如何解決,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
首先我們應(yīng)該知道線程安全問題一般發(fā)生在成員變量上,這是為什么啦?
因為成員變量是存放在堆內(nèi)存中,而堆內(nèi)存又是線程共享的,這就造成了線程安全問題
因為Spring中的Bean默認(rèn)是單例的,所以在定義成員變量時也有可能會發(fā)生線程安全問題。下面我們就來研究下如何解決Spring中單例Bean的線程安全問題
@RestController //@Scope("prototype") public class BeanController { private int content=0; //基本類型 線程不安全 private String test=null;//引用類型 線程不安全 @RequestMapping("testBean") public Object getSercurity(){ System.out.println(content); System.out.println(test); content=20; test="單例模式是不安全的"; return test; }