zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Linux常用操作命令大全
    判断系统,是否是移动端
    一款兼容小程序和web端的框架 Kbone-API
    defer 和 async的区别
    快应用多次弹出添加到桌面的bug
    js判断一个元素是否在数组中
    css 画太极
    css3锯齿
    js 获取屏幕宽度
    js 判断div距离浏览器顶部或者底部的距离
  • 原文地址:https://www.cnblogs.com/Gabby/p/6505304.html
Copyright © 2011-2022 走看看