Emma眼中的JAVA世界(一)之J.U.C包里的成员有什么?

一直想认认真真地总结一下Java基础,可惜自己一直以没有时间为借口的拖着,终于在这样一个普通的周末开始了这样的远行。该板块都是基于JDK8的源码解析,是我自己多方看书和理解的总结,不当之处还请见谅。

今天想说的是Java.util.concurrent包下面的类和接口,详细介绍。首先看看这个包下面有什么:

      

我如果没有数错的话,应该是58个类或者接口,如何学习成为我们的难点,我想应该先知道他们之间的关系,然后学习应该才是比较轻松的,我的目的在于知道这里面有什么,每一个怎么用,以后遇到类似情况就知道来这里找了,再看源码就知道怎么用了。

所以先介绍他们之间的关系,再逐个介绍每一个是干什么的。

主要的分成:

实现线程池的一些主要类:

Executor:

Executors:

ExecutorService

ForkJoinPool

ForkJoinTask:abstract class

ForkJoinWorkerThread

ScheduledExecutorService:interface

ScheduledFuture:interface

ThreadPoolExecutor

Callable interface

RunnableFuture:interface

RunnableScheduledFuture:interface

ThreadFactory:interface

CompletableFuture

Future

FutureTask

BlockingQueue:阻塞队列的一些实现类:

AbstractBlockingQueue :abstract class

ArrayBlockingQueue;

BlockingQueue:interface

DelayQueue:

LinkedBlockingDeque

LinkedBlockingQueue

LinkedTransferQueue

PriorityBlockingQueue

SynchronousQueue

ScheduledThreadPoolExecutor

TransferQueue:interface

抛出异常:

BrokenBarrierException

CancellationException

CompletionException

ExecutionException

RejectedExecutionException

TimeoutException

和线程相关:

返回值:

不知道:

CompletionService : interface

CompletionStage:interface

CountedCompleter:abstract class

Delayed:interface

ExecutorCompletionService

RecursiveAction:abstract class

RecursiveTask:abstract class

RejectedExecutionHandler:interface

线程安全的集合类:

ConcurrentHashMap

ConcurrentLinkedDeque

ConcurrentLinkedQueue

ConcurrentMap:interface

ConcurrentNavigableMap:interface

ConcurrentSkipListMap:

ConcurrentSkipListSet

Copy-On-Write容器:

COW,是一种用于程序设计中的优化策略,其基本思路是:从一开始大家共享同一个内容,

CopyOnWriteArrayList

CopyOnWriteArraySet:

TimeUnit相关:

CyclicBarrier

CountDownLatch

Exchanger

Phaser

Semaphore

TimeUnit

ThreadLocal实现类:

ThreadLocalRandom

原文地址:https://www.cnblogs.com/Gabby/p/6505304.html