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源码分析之——ThreadLocal

简介ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 ThreadL...

JDK源码分析之——CountDownLatch与CyclicBarrier

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

JDK源码分析之——AQS

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