juc包下有哪些类?
-
高级并发工具类(Advanced Concurrency Utilities):
Executor
:定义了执行任务的接口。ExecutorService
:继承自Executor
,提供了更丰富的任务生命周期管理方法。ScheduledExecutorService
:扩展了ExecutorService
,支持在给定的延迟之后或以固定的间隔周期性执行任务。
-
线程池(ThreadPool):
Executors
:提供了创建各种类型的线程池的工厂方法。ThreadPoolExecutor
:实现了ExecutorService
接口,是一个强大的、灵活的线程池实现。
-
并发集合(Concurrent Collections):
ConcurrentHashMap
:线程安全的哈希表实现。CopyOnWriteArrayList
:在迭代时复制并修改底层数组,适用于读多写少的场景。CopyOnWriteArraySet
:基于CopyOnWriteArrayList
实现的Set
集合。ConcurrentLinkedQueue
:非阻塞的并发队列。ConcurrentLinkedDeque
:非阻塞的并发双端队列。
-
同步器(Synchronizers):
Semaphore
:用于控制同时访问某个资源的线程数量。CountDownLatch
:允许一个或多个线程等待其他线程完成操作。CyclicBarrier
:允许一组线程互相等待,直到达到某个公共屏障点。- StampedLock:读写锁机制
Exchanger
:提供两个线程之间的数据交换点。Phaser
:提供更灵活的屏障机制。
-
原子变量(Atomic Variables):
AtomicInteger
、AtomicLong
、AtomicBoolean
:提供了原子操作的基本数据类型。AtomicReference
:提供了对引用对象的原子操作。AtomicStampedReference
:带有版本戳的原子引用。
-
并发工具类(Utilities):
Lock
接口及其实现类(如ReentrantLock
、ReadWriteLock
接口及其实现类ReentrantReadWriteLock
)。Condition
接口:与Lock
配合使用,提供更灵活的线程通信方式。Future
接口及其实现类:用于异步计算结果的抽象。CompletableFuture
:支持异步和回调的Future
扩展。