采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这个地方一直没想明白老师,不是synchronized也能保证可见性吗,就是说下一个线程进来之后能看到之前的操作,就是说下一个线程进来,之前synchronized不应该完全执行完了吗,为啥不加volatile还会出现对象泄漏的问题呢?
你的理解是对的,但是还有一种情况:在上一个线程退出synchronized代码块之前,下一个线程就进来了,此时synchronized是不保证可见性的,就需要用到volatile了。
还是有点懵老师,synchronized不是同时只能有一个线程来处理吗,不是一个线程结束,另一个线程才进来的吗
很好的问题,小伙伴看看这里哈,看同学们的留言,之前解答过:http://coding.imooc.com/learn/questiondetail/142039.html
意思是 执行完synchronized的代码块后,让出锁也是需要时间的,在这让出锁的空隙间下一个线程进来了?
照这么理解饿汉模式的那种线程安全的写法 是不是也得加volatile,不太理解这个地方,求老师解答
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
1.9k 26
916 12
1.1k 12
2.5k 12
1.1k 11