多线程访问全局变量和局部变量剖析
生活随笔
收集整理的這篇文章主要介紹了
多线程访问全局变量和局部变量剖析
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如果一個(gè)變量是成員變量,那么多個(gè)線程對(duì)同一個(gè)對(duì)象的成員變量進(jìn)行操作時(shí),它們對(duì)該成員變量是彼此影響的,也就是說一個(gè)線程對(duì)成員變量的改變會(huì)影響到另一個(gè)線程。
如果一個(gè)變量是局部變量,那么每個(gè)線程都會(huì)有一個(gè)該局部變量的拷貝(即便是同一個(gè)對(duì)象中的方法的局部變量,也會(huì)對(duì)每一個(gè)線程有一個(gè)拷貝),一個(gè)線程對(duì)該局部變量的改變不會(huì)影響到其他線程。
這是因?yàn)槌蓡T變量和局部變量的生命周期不同,成員變量會(huì)在引用本類的對(duì)象時(shí)創(chuàng)建,隨著對(duì)象的銷毀而銷毀,所以多個(gè)線程并發(fā)訪問會(huì)彼此影響。而局部變量則是在訪問方法時(shí)創(chuàng)建,在結(jié)束方法時(shí)銷毀,所以在多線程并發(fā)訪問方法時(shí),每個(gè)線程多會(huì)創(chuàng)建各自的局部變量,因而不會(huì)有影響。
?
總結(jié)
以上是生活随笔為你收集整理的多线程访问全局变量和局部变量剖析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决:-source 1.6 中不支持
- 下一篇: 多线程下局部变量与全局变量的使用及区别