采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
非并发情况下,不需要考虑。如果是并发情况,需要利用加锁、用volatile等手段进行保护,这是最安全的。当然,通常情况下,虽然这不是JVM的规范,担任商用JVM会智能判断,并不会让重排序影响到程序的正确性。
第二种写法,只有第一次新建Singleton的时候需要多个线程之间等待,后面大家是可以并行的。第一种写法,永远不能并行,所以效率低。
罪过,没有详细看,新建Singleton后第一个if不会进来就不会涉及到加锁
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
1.9k 26
890 12
1.1k 12
2.5k 12
1.1k 11