Wesley13 Wesley13
2年前
java 面试知识点笔记(十二)多线程与并发
问:synchronized和ReentrantLock的区别?ReentrantLock(可重入锁)位于java.util.concurrent.locks包(著名的juc包是由Douglea大神写的AQS抽象类框架衍生出来的应用)和CountDownLatch、FutureTask、Semaphore一样基于AQS实现
Wesley13 Wesley13
2年前
J.U.C体系进阶(四):juc
JavaJ.U.C体系进阶作者:Kerwin邮箱:806857264@qq.com说到做到,就是我的忍道!jucsync同步器框架同步器名称作用CountDownLatch倒数计数器,构造时设定计数值,当计数值归零后,所有阻塞线程恢复执行;其内部实现
Stella981 Stella981
2年前
JUC中Lock和ReentrantLock介绍及源码解析
Lock框架是jdk1.5新增的,作用和synchronized的作用一样,所以学习的时候可以和synchronized做对比。在这里先和synchronized做一下简单对比,然后分析下Lock接口以及ReentrantLock的源码和说明。具体的其他的Lock实现的分析在后面会慢慢介绍。Lock框架和synchronized
Wesley13 Wesley13
2年前
JUC并发编程学习笔记
JUC(并发编程),java.util.concurrent得工具类!image.png(https://uploadimages.jianshu.io/upload_images/8379611bfca9f6c63f253b4.png?imageMogr2/autoorient/strip%7CimageView2/2/w/1240)首先得了
Wesley13 Wesley13
2年前
JUC并发编程之:简单概述(一)
JUC并发编程之:简单概述(一)内容概述:·进程和线程、并发和并行、同步和异步概念·如何查看和关闭进程·Java线程常用的类和方法一、概念:一、进程与线程1·进程·程序由指令和数据组成,但这些指令要运行,数据要读写,就
Stella981 Stella981
2年前
ReetrantLock源码分析
ReentrantLock类的大部分逻辑,都是其均继承自AQS的内部类Sync实现的啥是AQS:Java并发编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如「等待队列、条件队列、独占获取、共享获取」等,而这个行为的抽象就是基于AbstractQueuedSynchron
Wesley13 Wesley13
2年前
Java中的AQS到底是什么?高级面试必问!
前言JDK1.5以前只有synchronized同步锁,并且效率非常低,因此大神DougLea自己写了一套并发框架,这套框架的核心就在于AbstractQueuedSynchronizer类(即AQS),性能非常高,所以被引入JDK包中,即JUC。那么AQS是怎么实现的呢?本篇就是对AQS及其相关组件进行分析,了解其原理,并
Wesley13 Wesley13
2年前
Java并发同步器AQS(AbstractQueuedSynchronizer)学习笔记(2)
学习了AbstractQueuedSynchronizer(http://my.oschina.net/zavakid/blog/84882)之后(Condition没有在上文做笔记,当应该不难理解),接下来笔者就尝试着分析在JUC包中的各个同步器,其语义是如何实现的。ReentrantLock内部类Sync继承了AbstractQue
Wesley13 Wesley13
2年前
J.U.C体系进阶(五):juc
JavaJ.U.C体系进阶作者:Kerwin邮箱:806857264@qq.com说到做到,就是我的忍道!juccollections集合框架ConcurrentHashMapConcurrentHashMap是线程
Wesley13 Wesley13
2年前
JUC四个函数式接口
publicclassDemo01{publicstaticvoidmain(Stringargs){Function<String,Integerfunctions{returns.length();};