這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Spring中單例bean線程不安全如何解決,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的綏江網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!首先我們應(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; }