Synchronized与Lock的对比

  • Lock是显示锁(手动开启和关闭锁,别忘记关闭锁) synchronized是隐式锁,出了作用域自动释放
  • Lock只有代码块锁,synchronized锁有代码锁和方法锁
  • 使用Lock锁,jvm将花费更少的时间来调度线程,性能更好。并且具有更好的扩展性(有很多的子类)
  • Synchronized 内置java关键字,Lock是一个java接口
  • Synchronized 可重入锁,不可以中断,非公平锁;Lock,可重入锁,默认非公平锁(可以设置)
  • Synchronized 如果线程1获得锁,并且阻塞,线程2就会傻傻的等待;Lock锁就不一定会等待下去
posted @   小罗要有出息  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示