java并发包(java.util.concurrent) concurrentHashMap 是线程安全的HashMap的实现, CopyOnWriteArrayList是一个线程安全,在读的时候无锁, CopyOnWriteArraySet 基于CopyOnWriteArrayList实现, ArrayBlockingQueue是一个基于数组,先进先出,线程安全的集合类 AtomicInteger 是一个支持原子操作的Integer类 ThreadPoolExecutor 并发包中提供的一个线程池的服务 Exeutors 提供了一些方便创建ThreadPoolExecutor的方法 有 newFixedThreadPool(5),newSingleThreadExecutor(),newCachedThreadPool() FutureTask 用于要异步获取执行结果或取消执行任务的场景,通过传入Runnable或Callable的任务给FutureTask Semaphore 是并发包中提供的用于控制某资源同时被访问的个数的类,例如:连接池中通常要控制创建的链接个数 CountDownLatch 一个用于控制多个线程同时开始某个动作,位于latch.await后的代码才会被执行 CyclicBarrier 与CountDownLatch 不同,CyclicBarrier是当await的数量达到了设定的数量后,才继续执行,用于确保 所有的线程几乎同时开始运行 ReentrantLock 用于控制并发 有lock(),unlock(); condition是并发包提供的一个接口实现有ReentrantLock.newCondition() ReentrantReadWriteLock 分读锁与写锁 ReadLock,WriteLock