synchronized和Lock的不同之处简介说明

打印 上一主题 下一主题

主题 901|帖子 901|积分 2703

转自:
http://www.java265.com/JavaMianJing/202204/16506887823048.html
下文笔者讲述synchronized和Lock的区别,如下所示
  1. synchronized和Lock的区别:
  2.      语义不同
  3.             synchronized是java内置关键字
  4.                 Lock是java中的一个类
  5.          可操作性不同
  6.             synchronized无法检测是否获取锁状态
  7.                 Lock可判断是否获取锁
  8.          操作方式不同
  9.             synchronized自动释放锁
  10.                 Lock需程序员手动释放锁
  11.           等待锁的方式不同
  12.             用synchronized关键字的两个线程1和线程2
  13.                    当前线程1获得锁,线程2线程等待
  14.           如果线程1阻塞,线程2则会一直等待下去
  15.         用Lock锁就不一定会等待下去,如果尝试获取不到锁,线程可以不用一直等待就结束了;
  16.       锁的可操作性不同
  17.              synchronized的锁可重入、不可中断、非公平
  18.          Lock锁可重入、可判断、可公平(两者皆可)
  19.           应用场景不同
  20.              synchronized适用锁少量代码
  21.                  Lock适用大量代码块的锁
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

滴水恩情

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表