1. 程式人生 > >多線程訪問全局變量和局部變量

多線程訪問全局變量和局部變量

周期 一個 成員變量 生命 行操作 方法 改變 進行 操作

如果一個變量是成員變量,那麽多個線程對同一個對象的成員變量進行操作時,它們對該成員變量是彼此影響的,也就是說一個線程對成員變量的改變會影響到另一個線程。

如果一個變量是局部變量,那麽每個線程都會有一個該局部變量的拷貝(即便是同一個對象中的方法的局部變量,也會對每一個線程有一個拷貝),一個線程對該局部變量的改變不會影響到其他線程。

這是因為成員變量和局部變量的生命周期不同,成員變量會在引用本類的對象時創建,隨著對象的銷毀而銷毀,所以多個線程並發訪問會彼此影響。而局部變量則是在訪問方法時創建,在結束方法時銷毀,所以在多線程並發訪問方法時,每個線程多會創建各自的局部變量,因而不會有影響。

多線程訪問全局變量和局部變量