最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

synchronized和lock的异同

来源:懂视网 责编:小采 时间:2021-11-16 10:20:25
文档

synchronized和lock的异同

1、首先synchronized是java内置关键字,在jvm层面,Lock是个java类。2、synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁。
推荐度:
导读1、首先synchronized是java内置关键字,在jvm层面,Lock是个java类。2、synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁。

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锁适合代码少量的同步问题。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

synchronized和lock的异同

1、首先synchronized是java内置关键字,在jvm层面,Lock是个java类。2、synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁。
推荐度:
标签: 区别 的区别 lock
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top