为什么第一个线程没有调用构造方法赋值,就可以切到第二个线程呢?
来源:13-12 JMM的应用

qq__6238
2020-07-18
老师的解释我都听明白了,但是有个疑问,即使是重排序,为什么第一个线程没有调用构造方法赋值,就可以切到第二个线程呢?那样不是第一个synchronized代码块还没有执行完吗?除非是线程1出现了异常吧?
写回答
1回答
-
不是执行完synchronized才会被切换,执行到一半也会切换线程,只是第二个线程无法进入同一个synchronized代码块
012020-07-19
相似问题