`
春花秋月何时了
  • 浏览: 39556 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java并发包java.util.concurrent包结构概述

 
阅读更多

引言

        前面使用了大量的章节对线程、Java内存模型、synchronized锁等进行了详细的介绍,同时也清楚了其实大部分的内容都是在围绕着并发过程中的原子性、可见性和有序性进行探讨,除了synchronized这样的隐式锁,前文还提到Lock对象支持的显式锁同样能够对这三大特征进行支持。从本章节开始,我们将致力于对Lock对象显式锁的探讨。

        Lock对象显式锁其实是Java并发包(java.util.concurrent)中的重要内容,它是J2EE5.0之后才引入的。其相对于synchronized隐式锁更加强大与灵活,并且对锁的操作花费的代价更低。要想在并发开发过程中做到游刃有余,对这部分内容的掌握不可或缺。

        为了能够对这部分的内容能够有较深入的了解,接下来的章节将会由最底层的基础元件开始介绍学习,只有对这些最底层的基础单元有了理解,才能在使用上层API的时候做到心里有数,而不是知其然不知其所以然。关于Java并发包(java.util.concurrent)又可以简称为JUC,可以分为以下几个部分,后文也将按照这样的顺序进行学习。

  1. Java并发包基础元件:sun.misc.Unsafe类、LockSupport
  2. Java并发包核心框架AbstractQueuedSynchronizer、Condition接口、Lock接口
  3. Java并发包同步组件ReentrantLock、CylicBarrer、Semaphore、CountDownLatch、ReadWriteLock/ReentrantReadWriteLock、StampedLock
  4. 同步数据结构之原子类:AtomicInteger、AtomicBoolean、AtomicLong、AtomicReference等
  5. 同步工具类:Phaser、Exchanger、ThreadLocalRandom
  6. 同步数据结构之Queue类:BlockingQueue接口、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue、LinkedTransferQueue、PriorityBlockingQueue、DelayQueue、SynchronousQueue
  7. 同步数据结构之Deque类:BlockingDeque接口、ConcurrentLinkedDeque、LinkedBlockingDeque
  8. 同步数据结构之List类CopyOnWriteArrayList
  9. 同步数据结构之Set类:CopyOnWriteArraySet、ConcurrentSkipListSet
  10. 同步数据结构之Map类:ConcurrentMap接口、ConcurrentHashMap、ConcurrentNavigableMap、ConcurrentSkipListMap
  11. 线程池:Executor、ExecutorService、ExecutorCompletionService、Executors、ScheduledThreadPoolExecutor
  12. fork/join:ForkJoinPool、ForkJoinTask、ForkJoinWorkerThread等

除了第一个基础类sun.misc.Unsafe,其他所有的内容都是出自java.util.concurrent包及其子包下。 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics