- 博客(1)
- 收藏
- 关注
原创 静态变量无法完成多线程同步
静态变量无法完成多线程同步 描述 ABC顺序打印问题,代码如下,但是执行后发现未能按照预想循环执行,使用同步代码块,volatile,原子类型,System.out.print()语句都可以完成循环打印,思考良久后,醒悟: 工作内存保存数据后,没有触发条件的情况下,会一直使用工作内存数据,不会同步主内存数据。线程1一直以为flag是2,线程2一直以为flag是3,线程3一直以为flag是1。 public class ABCPrint { public static int flag = 1;
2021-01-04 11:56:23 209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人