问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

面试synchronized和locak有什么异同

发布网友 发布时间:2022-03-25 01:44

我来回答

2个回答

懂视网 时间:2022-03-25 06:05

synchronized和lock的异同如下:

  

  1、首先synchronized是java内置关键字,在jvm层面,Lock是个java类;

  

  2、synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁;

  

  3、synchronized会自动释放锁(a 线程执行完同步代码会释放锁 ;b 线程执行过程中发生异常会释放锁),Lock需在finally中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁;

  

  4、用synchronized关键字的两个线程1和线程2,如果当前线程1获得锁,线程2线程等待。如果线程1阻塞,线程2则会一直等待下去,而Lock锁就不一定会等待下去,如果尝试获取不到锁,线程可以不用一直等待就结束了;

  

  5、synchronized的锁可重入、不可中断、非公平,而Lock锁可重入、可判断、可公平(两者皆可);

  

  6、Lock锁适合大量同步的代码的同步问题,synchronized锁适合代码少量的同步问题。

热心网友 时间:2022-03-25 03:13

一、synchronized和lock的用法区别

synchronized:在需要同步的对象中加入此控制,synchronized可以加在方法上,也可以加在特定代码块中,括号中表示需要锁的对象。

lock:需要显示指定起始位置和终止位置。一般使用ReentrantLock类做为锁,多个线程中必须要使用一个ReentrantLock类做为对象才能保证锁的生效。且在加锁和解锁处需要通过lock()和unlock()显示指出。所以一般会在finally块中写unlock()以防死锁。

二、synchronized和lock用途区别

synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。

1.某个线程在等待一个锁的控制权的这段时间需要中断
2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程
3.具有公平锁功能,每个到来的线程都将排队等候
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 java lock和synchorinzed的区别 synchronized和lock的区别 csdn Lock和synchronized的区别和使用 请问java中的lock和synchronized区别是什么? synchronized和lock的区别? synchronized和lock的区别 华为手机怎么设置人脸识别 华为手机设置人脸识别方法 华为荣耀手机如何设置人脸解锁 华为荣耀人脸解锁教程 苹果7充电时用苹果数据线和vivo充电头能行吗?影响手机吗? 苹果不是用原装充电器,对手机有坏处吗? 苹果pd充电器充不上电插上去没反应? iphone 7能用普通的充电器吗? 苹果的设备为什么用普通充电器充电会容易坏? 用不是苹果原装的充电器充iphone会不会充坏 iphone用别的充电器会使手机坏么 iphone边用边冲充电器会坏吗 iphone7支持pd快充吗 苹果7能不能用18瓦或12瓦的pd快冲头和pd数据线? IPHONE7用快充充电器会怎样 iPhone7能用pd快充吗? 深入研究 Java Synchronize 和 Lock 的区别与用法 java同步锁中synchronized和Lock接口类的区别 java如何实现线程安全,synchronized和lock的区别,可重入锁 java中实现同步的两种方式syschronized和lock的区别和联系 ios开发synchronized和lock的区别 多线程安全实现方式,synchronized和lock,信号量的区别 synchronized和ReentrantLock的区别 synchronized与lock,哪个效率更高 拼多多的二维码在哪里扫 拼多多开蓝码二维码教程 别人发过来二维码,扫码别人就可以进入自己的拼多多店铺是怎么操作的? 别人发过来二维码,自己扫二维码别人就可以进入自己的拼多多店铺是怎么操作的_问一问 拼多多天天领现金为啥没有二维码 拼多多不想帮别人扫二维码领红包怎么办 为什么拼多多大转盘没有二维码 美团商家如何添加价格与商品 美团外面商家版如何批量上传商品介绍图片 您好,我是店家,美团外卖,怎样才能把拍的小视频和产品图片一起上传上 美团外卖商家怎么能上传视频,有什么规律吗? 美团怎么上传视频招牌