大家都知道,非线程安全问题存在于“实例变量”中,方法内部的私有变量,则不存在线程安全问题,这是为什么呢?
因为Java运行时数据区,虚拟机栈或者本地方法栈(执行方法所在的内存区域)是线程私有的,每个线程都有自己的虚拟机栈存储区和本地方法栈,所以线程在执行方法时,方法内部的变量不会牵扯到共享这一原则。只有共享内存才会牵扯到非线程安全问题,实例变量内存,在堆
大家都知道,非线程安全问题存在于“实例变量”中,方法内部的私有变量,则不存在线程安全问题,这是为什么呢?
因为Java运行时数据区,虚拟机栈或者本地方法栈(执行方法所在的内存区域)是线程私有的,每个线程都有自己的虚拟机栈存储区和本地方法栈,所以线程在执行方法时,方法内部的变量不会牵扯到共享这一原则。只有共享内存才会牵扯到非线程安全问题,实例变量内存,在堆