【说站】java Synchronized的三种作用
java Synchronized的三种作用
1、确保方法或代码块在操作中的原子性
同步化保证了符号内部或代码块内部资源(数据)的互斥访问。也就是说,由同一时间内的相同的监控锁所监控的代码,至多可以有?个线程进行访问。
在多线程环境中,Synchronized关键字描述的方法或代码块在同一时间只能由一个线程访问,在持有当前Monitor的线程执行完成之前,其他线程若要调用相关的方法,必须排队,知道持有当前Monitor的线程执行结束,释放Monitor,然后下一个线程将执行结束。
当多个监视器的情况下,多个监视器不会互相排斥。
2、确保监视资源的可见,在多线程环境中保证监控资源上的数据同步。
也就是,当任何线程获得Monitor之后将共享内存中的数据复制到site的缓存中。在此过程中,首先将缓存数据复制到共享内存中。
3、确保线程间的有序运行
同步化的原子性保证了它所描述的方法或代码操作的有序性,并且在同一时间最多只能有一个线程访问,并且不会触发JMM指令重排机制。
以上就是java Synchronized的三种作用,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。