在J2SE5.0之后,引入了Java并发包(java.util.concurrent)。笔者将这个包中的内容分为4部分来讲解,前一部分是后一部分的基础,建议按照顺序学习:
1、基础同步组件:包括位于java.util.concurrent.locks子包(Lock、ReentrantLock、ReadWriteLock等),以及java.util.concurrent包下的CountDownLatch、Semaphore、CylicBarrer等。
2、同步数据结构:位于java.util.concurrent.atomic子包下面的原子并发类,以及java.util.concurrent包下的高级的并发数据结构ArrayBlockingQueue 、ConcurrentHashMap 、ConcurrentLinkedQueue 、ConcurrentSkipListMap 、ConcurrentSkipListSet 、CopyOnWriteArrayList 、CopyOnWriteArraySet 、LinkedBlockingDeque 、LinkedBlockingQueue 、PriorityBlockingQueue等。
3、线程池:位于java.util.concurrent包下的、Executor 、ExecutorService 、ExecutorCompletionService 、Executors、ScheduledThreadPoolExecutor等。
4、fork/join框架。