多线程下局部变量与全局变量的使用及区别
生活随笔
收集整理的這篇文章主要介紹了
多线程下局部变量与全局变量的使用及区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
局部變量是在棧中運行。每個運行的線程都有自己的堆棧。
別的線程無法訪問得到,因此我們說,局部變量是“安全”的。
全局變量是在堆中運行。堆是對所有的線程都可見的。
因此在兩個以上的線程訪問全局變量時,就會出現所謂的
“不安全”,a線程訪問全局變量,賦值為a,然后中間睡眠了一段時間,在此期間b進程訪問了全局變量,賦值為b了,此時a線程醒來了,搶了處理器,發現全局變量是b,顯然不是我們a線程所要到的值,這時就要加入同步機制或者定義為局部變量,比如如果是方法的話就加同步方法,代碼塊就加同步代碼塊。
總結
以上是生活随笔為你收集整理的多线程下局部变量与全局变量的使用及区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程访问全局变量和局部变量剖析
- 下一篇: Java魔法类:Unsafe应用解析