synchronized于Lock的对比

廉价感情. 提交于 2020-03-13 23:03:02

🔒Lock是显式锁(手动开启和关闭锁,别忘记关闭锁)synchronized是隐式锁,处理作用域自动释放

🔒Lock只有代码块锁,synchronized有代码块锁和方法锁

🔒使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类)

🔒优先使用顺序:Lock > 同步代码块(进入了方法体,就分配相应的资源) >  同步方法区(在方法体之外)

🔒ReentrantLock实现了Lock,他拥有于synchronized相同的并发性和内存语义,在实现线程安全的控制中,比较常用的是ReentrantLock,可以显式加锁,释放锁,它可重复锁

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!