非线程安全问题存在于实例变量中,如果是方法内部的私有变量,则不存在非线程安全问题,所得到的结果是线程安全的。
原因
(1)方法内部的变量为方法私有的变量,其生存周期随着方法的结束而终结。
(2)每个线程执行的时候会把局部变量存放在各自栈帧的工作内存中(栈帧进入虚拟机栈),虚拟机栈线程间不共享,故不存在线程安全问题。
非线程安全问题存在于实例变量中,如果是方法内部的私有变量,则不存在非线程安全问题,所得到的结果是线程安全的。
原因
(1)方法内部的变量为方法私有的变量,其生存周期随着方法的结束而终结。
(2)每个线程执行的时候会把局部变量存放在各自栈帧的工作内存中(栈帧进入虚拟机栈),虚拟机栈线程间不共享,故不存在线程安全问题。