【Java面试笔记:进阶】19.Java并发包提供了哪些并发工具类?

Java 并发包(java.util.concurrent)提供了一系列强大的工具类,用于简化多线程编程、提升并发性能并确保线程安全。

1. Java 并发包的核心内容

  • 并发包概述:java.util.concurrent 包及其子包提供了丰富的并发工具类,用于简化多线程编程。
  • 主要组成部分:
    • 高级同步结构:如 CountDownLatch、CyclicBarrier、Semaphore 等。
    • 线程安全容器:如 ConcurrentHashMap、ConcurrentSkipListMap、CopyOnWriteArrayList 等。
    • 并发队列:如 BlockingQueue 的各种实现(ArrayBlockingQueue、SynchronousQueue、PriorityBlockingQueue 等)。
    • Executor 框架:用于创建和管理线程池,调度任务运行。

2. 高级同步结构

  • CountDownLatch
    • 用途:允许一个或多个线程等待某些操作完成。
    • 特点:不可重置,一旦计数完成,无法重用。
    • 典型操作:countDown()await()
    • 适用场景:适用于某个线程需要等待多个线程完成任务的场景。
  • CyclicBarrier
    • 用途:允许多个线程等待到达某个屏障。
    • 特点:可重用,支持多次使用。
    • 典型操作:await(),当所有线程都调用 await() 后,屏障被触发。
    • 适用场景:适用于多个线程并行运行,需要同步到达某个点再继续执行的场景。
  • Semaphore
    • 用途:信号量,用于控制同时访问某个资源的线程数量。
    • 典型操作:acquire()release

你可能感兴趣的:(Java,核心技术面试精讲笔记,java,面试,笔记,并发,countDownLatch,concurrent,Concurrent)