若是一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操做时,它们对该成员变量是彼此影响的,也就是说一个线程对成员变量的改变会影响到另外一个线程。多线程
若是一个变量是局部变量,那么每一个线程都会有一个该局部变量的拷贝(即使是同一个对象中的方法的局部变量,也会对每个线程有一个拷贝),一个线程对该局部变量的改变不会影响到其余线程。并发
这是由于成员变量和局部变量的生命周期不一样,成员变量会在引用本类的对象时建立,随着对象的销毁而销毁,因此多个线程并发访问会彼此影响。而局部变量则是在访问方法时建立,在结束方法时销毁,因此在多线程并发访问方法时,每一个线程多会建立各自的局部变量,于是不会有影响。线程