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

java面试王 Java面经 发布时间:2022-04-23 12:32:29 阅读数:8811 1
下文笔者讲述synchronized和Lock的区别,如下所示
synchronized和Lock的区别:
     语义不同
	    synchronized是java内置关键字
		Lock是java中的一个类
	 可操作性不同
	    synchronized无法检测是否获取锁状态
		Lock可判断是否获取锁
	 操作方式不同
	    synchronized自动释放锁
		Lock需程序员手动释放锁
	  等待锁的方式不同
	    用synchronized关键字的两个线程1和线程2
		   当前线程1获得锁,线程2线程等待
          如果线程1阻塞,线程2则会一直等待下去
        用Lock锁就不一定会等待下去,如果尝试获取不到锁,线程可以不用一直等待就结束了;
      锁的可操作性不同
	     synchronized的锁可重入、不可中断、非公平
         Lock锁可重入、可判断、可公平(两者皆可)
	  应用场景不同 
	     synchronized适用锁少量代码
		 Lock适用大量代码块的锁 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202204/16506887823048.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者