JUC并发包基本使用
一、简介 传统的Java多线程开发中,wait、notify、synchronized等如果不注意使用的话,很容易引起死锁、脏读问题。Java1.5 版本开始增加 java.util.concurrent 并发编程包,简化了多线程开发难度。添加了很多的多线程操作工具类,可根据实际需求去选择使用。 JUC 常用工具类: Semaphore - 信号量 ReentrantLock - 可重入锁。之前有做过简介使用,详见 https://www.cnblogs.com/eric-fang/p/8991208.html ReadWriteLock - 读写锁 BlockingQueue - 阻塞队列。详见 https://www.cnblogs.com/eric-fang/p/8989860.html CountDownLatch - 计数器。在计数器归零后,允许之前阻塞的若干线程继续执行 CyclicBarrier - 栅栏。在某一条件达成之前,所有线程均阻塞等待 AtomicXXXXXXX - 原子操作类,常见的有:AtomicInteger、AtomicLong、AtomicBoolean。 TimeUnit - 时间枚举类,提供一些时间的便捷操作 Executor、ExecutorService、Future : 之前有做过简介使用,详见