1.syschronized是关键字,lock是接口;syschronized是内置的,基于jvm层面的,所以发生异常时会自动释放锁;二lock是基于代码的,发生异常的时候使用unlock()释放接口;

2.lock接口通过其中的lockInterruptibly()方法可以中断正在等待获取锁的线程,但是syschronized关键字只能一直等待获取线程;

3.lock接口通过其中的tryLock()方法可以判断是否已经获取到锁,但是syschronized关键字不可以;

详细说明参考:https://www.cnblogs.com/lemon-flm/p/7880119.html

转载于:https://www.cnblogs.com/xuzhiyuan/p/9270066.html

java并发包下的lock接口与syschronized关键字的区别相关推荐

  1. Java并发包下的辅助工具类

    Java并发包下为我们提供了一些辅助工具类,来简单看看如何使用 一.CountDownLatch 减法器,必须等到减法器的值为0了,才能继续往下执行.也可以将它理解为栅栏 让一些线程堵塞直到另一个线程 ...

  2. Java并发包JUC的Lock锁讲解

    概述 Java有两种锁,一种是使用关键字Synchronized对方法或者代码块进行加锁,一种是使用接口Lock(实际上其实现类)进行上锁和解锁. 区别: Synchronized是java的一个关键 ...

  3. Java并发包下的CAS相关的原子操作

    一.场景引入,问题凸现 假设多个线程需要对一个变量不停地累加1: public class HelloWorld{private int data=0;//多个线程同时对data变量执行操作:data ...

  4. Linux下多路复用IO接口epoll/select/poll的区别

    select比epoll效率差的原因:select是轮询,epoll是触发式的,所以效率高. Select: 1.Socket数量限制:该模式可操作的Socket数由FD_SETSIZE决定,内核默认 ...

  5. RobotFramework下的http接口自动化post关键字的使用

    在http协议中,除了get请求外,另一个最常用的就是post请求了.和get 请求类似,post请求接收一个参数,[ url ] 示例1:调用博客园(http://www.cnblogs.com/) ...

  6. java并发,同步synchronize和lock锁的使用方法和注意,死锁案例分析

    1.什么是线程安全问题 多个线程同时共享同一个全局变量或者静态变量的时候,某个线程的写操作,可能会影响到其他线程操作这个变量.所有线程读一个变量不会产生线程安全问题. 实际场景就是火车站买票问题:剩余 ...

  7. Java并发包——使用新的方式创建线程

    Java并发包--使用新的方式创建线程 摘要:本文主要学习了如何使用Java并发包中的类创建线程. 部分内容来自以下博客: https://www.cnblogs.com/dolphin0520/p/ ...

  8. java并发包线程池原理分析锁的深度化

    java并发包&线程池原理分析&锁的深度化 并发包 同步容器类 Vector与ArrayList区别 1.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素 ...

  9. java 并发包 使用场景_java并发包原理及使用场景

    java并发包下有很多内置的处理线程安全问题工具类,在集合中就有2种线程同步的类,比如:Vector较ArrayList线程安全,但是效率较低,同样的还有Hashtable和HashMap,在实际项目 ...

最新文章

  1. 轻松学Pytorch-使用卷积神经网络实现图像分类
  2. 从风投那里得到了了 $100W 的种子期投资且已到账,我该如何组建公司及团队?...
  3. centos 6.5搭建LNMP环境
  4. JBoss was unable to start within 50 seconds-JBoss启动超时
  5. gunicorn 配置日志
  6. 无载波幅度和相位调制(CAP)与QAM调制的详细解析(可见光通信应用场景),以及CAP matlab程序下载链接
  7. iCloud 是什么
  8. 算法导论第八章__实现计数排序
  9. Vivaldi for Mac(极速浏览器)支持m1
  10. 末日前的唠叨:SEO之四大要不得
  11. Linux安装redis最详细的教程
  12. word如何一次将所有英文改为新罗马字体
  13. 腾讯邱跃鹏:解密腾讯亿级产品背后网络架构故事
  14. 2013 CVPR点评
  15. SAP FICO 批量成本估算
  16. react-native与phonegap入门-曾亮-专题视频课程
  17. ai技术与能源行业_最终AI能源效率的新方程式
  18. android googleplay 支付接入
  19. IBM Guardium
  20. 翻译www.djangobook.com之第十八章:自定义Django的admin界面

热门文章

  1. 【王道计组笔记】I/O查询方式
  2. 计算机多媒体应用软件有超媒体特点吗,《多媒体技术与应用》(本)阶段练习一...
  3. python定义一个空列表lt_4. Python 基础之阶段测试(一)
  4. html文件用的那个版本,html – 使用Django进行静态文件版本控制
  5. SpringBoot接收数组参数
  6. 算法竞赛学习资源整理
  7. java子线程切换到主线程_Android子线程切换到UI线程方法总结
  8. k型热电偶材料_热电偶温度计的二三事
  9. 如何让ul的符号隐藏_亚马逊关键词大师,那些你不知道的隐藏keywords操作方法(干货)...
  10. 第一章C#高级特性 C#委托