Java虚拟机栈、本地方法栈、程序计数器是线程私有的,但是面试官说也会有线程安全问题,能否举些例子?

Java虚拟机栈、本地方法栈、程序计数器是线程私有的,但是面试官说也会有线程安全问题,能否举些例子?

阅读 2.4k
1 个回答

线程私有并不能保证安全性;

线程只是程序执行的基本单位, 线程中的数据不一定就只有它自己在用; 如果多个线程操作同一份数据, 数据从主存copy到每个线程自己的线程上下文(工作内存), 这时候如果没有同步, 自然也可能出问题的;

推荐问题