BlockingQueue浅析

1. Queue分类

1.1 BlockingQueue

BlockingQueue是并发包里阻塞队列的一个接口。主要有(针对JDK1.8版本)如下几种(下面的ConcurrentLinkedQueue和LinkedTransferQueue不是阻塞队列哦。):

队列

有界性

数据结构

ArrayBlockingQueue

bounded

加锁

array list

LinkedBlockingQueue

optionally-bounded

加锁

linked list

PriorityBlockingQueue

unbounded

加锁

heap

......

聊聊JAVA的线程池

1. 介绍

并发包提供了几种不同类型的线程池。今天我们来更加仔细地看看其实现原理。下面的分析适用于JDK1.7

2. 类分析

类的结构如下:

2.1 池分类

通过ThreadPoolExecutor创建的池: 例如Fixed pool 、Cached pool和singleThread等线程池。在1.8中还引入了WorkStealingPool这个基于ForkJoinPool里面窃取工作算......

再来理解下ThreadLocal类

1. 什么是ThreadLocal类

JDK官方文档对其定义如下:

This class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one (via its get or set method) has its own, independently initialized copy of the variable. ThreadLocal instances are typically ......