volatile与synchronized的内存使用情况

2016-04-01 13:40:28 0 举报
volatile与synchronized的内存使用情况
volatile和synchronized都是Java中的关键字,用于控制多线程并发访问共享资源时的内存可见性和互斥性。volatile只能保证内存可见性,而synchronized可以保证内存可见性和互斥性。在内存使用方面,volatile不会创建任何锁或其他同步机制,因此开销较小;而synchronized会创建一个锁对象,并使用Monitor进行同步,因此开销较大。此外,synchronized还可以通过偏向锁、轻量级锁和重量级锁来提高性能。总之,volatile适用于只需要保证内存可见性的场景,而synchronized适用于需要保证内存可见性和互斥性的场景。
作者其他创作
大纲/内容
评论
0 条评论
回复 删除
取消
回复
下一页