跳至主要內容
Java 并发之线程基础

本文主要概要性的介绍线程的基础,为后面的章节深入介绍Java并发的知识提供基础。


Cactus li...大约 13 分钟JavaJavaThreadconcurrency
JUC 中的CAS, Unsafe和原子类解析

JUC中多数类是通过volatile和CAS来实现的,CAS本质上提供的是一种无锁方案,而Synchronized和Lock是互斥锁方案; java原子类本质上使用的是CAS,而CAS底层是通过Unsafe类实现的。所以本章将对CAS, Unsafe和原子类详解。


Cactus li...大约 19 分钟JavaJavaThreadconcurrency
JUC 工具类之 CountDownLatch 详解

CuntDownLatch底层也是由AQS,用来同步一个或多个任务的常用并发工具类,强制它们等待由其他任务执行的一组操作完成。@pdai


Cactus li...大约 11 分钟JavaJavaThreadconcurrency
JUC 工具类之 CyclicBarrier 详解

CyclicBarrier底层是基于ReentrantLock和AbstractQueuedSynchronizer来实现的, 在理解的时候最好和CountDownLatch放在一起理解(相见本文分析)。


Cactus li...大约 11 分钟JavaJavaThreadconcurrency
JUC 工具类之 Exchanger 详解

Exchanger是用于线程协作的工具类, 主要用于两个线程之间的数据交换。


Cactus li...大约 18 分钟JavaJavaThreadconcurrency
JUC 工具类之 Phaser 详解

Phaser是JDK 7新增的一个同步辅助类,它可以实现CyclicBarrier和CountDownLatch类似的功能,而且它支持对任务的动态调整,并支持分层结构来达到更高的吞吐量。


Cactus li...大约 13 分钟JavaJavaThreadconcurrency
JUC 工具类之 Semaphore 详解

Semaphore底层是基于AbstractQueuedSynchronizer来实现的。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。


Cactus li...大约 13 分钟JavaJavaThreadconcurrency
JUC 知识汇总指南

本文对J.U.C进行知识体系解读,后续的文章还针对几乎所有的核心的类以及常用的工具类作了详细的解读; 如果没有时间详细阅读相关章节,可以跟着本文站在一定的高度了解JUC下包的设计和实现;同时对重要的章节提供跳转链接,您可以链接过去详读。


Cactus li...大约 15 分钟JavaJavaThreadconcurrency
JUC 线程池之 Fork-Join 框架详解

ForkJoinPool 是JDK 7加入的一个线程池类。Fork/Join 技术是分治算法(Divide-and-Conquer)的并行实现,它是一项可以获得良好的并行性能的简单且高效的设计技术。目的是为了帮助我们更好地利用多处理器带来的好处,使用所有可用的运算能力来提升应用的性能。


Cactus li...大约 50 分钟JavaJavaThreadconcurrency
JUC 线程池之 FutureTask 详解

Future 表示了一个任务的生命周期,是一个可取消的异步运算,可以把它看作是一个异步操作的结果的占位符,它将在未来的某个时刻完成,并提供对其结果的访问。在并发包中许多异步任务类都继承自Future,其中最典型的就是 FutureTask。


Cactus li...大约 13 分钟JavaJavaThreadconcurrency