logo头像
Snippet 博客主题

JDK源码分析之——Condition

简介Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition的await()、sign...

JDK源码分析之——ReentrantLock

简介ReentrantLock是Lock接口的实现类,是一把可以支持重入的锁,静态内部抽象类Sync继承了AQS(AbstractQueuedSynchronizer,不了解AQS的可以看看JDK源码分析之——AQS),Sync的子类...

JDK源码分析之——FutureTask

简介FutureTask是提供了一个可取消的异步计算的过程类,FutureTask实现了Future的基本方法,提供了start和cancel操作,可以查询计算是否已经完成,并且可以获取计算的结果。结果只可以在计算完成之后获取,当计算...

JDK源码分析之——CountDownLatch与CyclicBarrier

CountDownLatch与CyclicBarrier都是我们在并发编程中常用的工具,它们提供了一种控制并发流程的手段,今天我们通过源码分析来看看它的真面目。 1.CountDownLatchCountDownLatch中count...

JDK源码分析之——AQS

在Java高并发编程中,我们经常会用到ReentrantLock、CountDownLatch、Semaphore等同步类,它们的功能可能不尽相同,但是它们都有一个共同点,就是实现依赖了AQS(AbstractQueuedSynchr...

Java并发中遇到的锁

在Java高并发编程中,会遇到各种锁,这里简单介绍一下各种锁的分类。涉及到了以下内容: ①公平锁/非公平锁 ②可重入锁 ③独享锁/共享锁 ④互斥锁/读写锁 ⑤乐观锁/悲观锁 ⑥分段锁 ⑦偏向锁/轻量级锁/重量级锁 ⑧自旋锁 上面是很多...

JDK并发包

1.同步控制1.1重入锁重入锁使用java.util.concurrent.locks.ReentrantLock类来实现的,它完全可以替代synchronized关键字。与synchronized相比,重入锁有着显式的操作过程,开发...