• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

三木筒子

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

synchronized 和lock的区别摘要

一直想写线程锁相关的东西,然后自己之前也是有些模糊,自从开了一篇文章,感觉茅塞顿开  引文 

 

http://www.cnblogs.com/dolphin0520/p/3923167.html

 

 

在这里概括一下,防止自己忘却:

1  :synchronized 是内置的,而lock是util的并发包中的

2 :前者一旦使用,只有两种可能会释放锁。 一:  发生异常,由jvm自动释放

                     二 :执行完毕,正常释放

  后者使用后要想释放锁,只能调用unlock方法

  后者有唯一实现类 ReentrantLock 可重入锁,相当于读写分离,可以将完善锁机制的效率问题。在lock的情况下,任何一个线程调用了写锁,才会使其他线程进行等待,若是多个线程进行的都是读操作,那么,可以异步进行,不需要同步,提升效率

   

如有错误,请邮件zs253499660@sina.com,如有更好的方法,可以推荐

posted on 2019-03-25 23:18  森酱  阅读(111)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3