Concurrent - Synchronized
发布时间
阅读量:
阅读量
什么是Synchronized
synchronized是Java语言中提供的一种关键字,其作用在于确保并发程序在执行过程中具备原子性、可见性以及有序性。通常情况下,人们将synchronized称为重量级锁,其主要原因是,在JDK1.6版本之前,相较于JUC包中提供的锁机制,synchronized在实现上显得较为笨重,并且存在一定的性能瓶颈。然而,自JDK1.6版本开始,Java对synchronized关键字进行了多项优化措施,使得其性能表现已能够与JUC中的锁机制相媲美。
Synchronized 机制应用分析
synchronized关键字可用于对方法以及代码块进行同步控制
方法:能够应用于静态方法与非静态方法
代码块:在同步代码块中,所使用的锁对象可以是当前实例对象、字节码对象(class)或其它实例对象
1 用于修饰普通方法
当synchronized用于修饰普通方法时,其默认的锁对象为当前实例对象(即this)
2 用于修饰静态方法
此时的锁对象为对应的Class对象
3 用于代码块
synchronized (lockobj) {
// 书写同步代码
}
Synchronize
全部评论 (0)
还没有任何评论哟~
