为啥加锁可以解决可见性问题呢

为啥加锁可以解决可见性问题呢?
因为某一个线程进入synchronized代码块前后,线程会获得锁,清空工作内存,从主内存拷贝共享变量最新的值到工作内存成为副本,执行代码,将修改后的副本的值刷新回主内存中,线程释放锁。

而获取不到锁的线程会阻塞等待,所以变量的值肯定一直都是最新的。

posted @ 2021-01-11 00:48  大众思索  阅读(67)  评论(0编辑  收藏  举报