synchronized详解 如何延长Java程序员的职业寿命?
浏览量:3097
时间:2021-03-13 02:41:11
作者:admin
如何延长Java程序员的职业寿命?
只要学会熟练。
现在有哪些理论上的科技在未来会让人类受益?
感谢您的邀请,永久机器
volatile和synchronized之间的区别:
1。volatile的本质是告诉JVM寄存器(工作内存)中当前变量的值是不确定的,需要从主存中读取;synchronized是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞。
2. Volatile只能在变量级别使用;synchronized可以在变量、方法和类级别使用。
3. Volatile只能实现变量修改的可见性和原子性,synchronized可以保证变量修改的可见性和原子性。
4. Volatile不会导致线程阻塞;synchronized可能会导致线程阻塞。
5. 用volatile标记的变量不会被编译器优化;用synchronized标记的变量可以被编译器优化。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。