面试高频题:Java并发包有些什么?

面试过Java研发岗位的同学,相信很多都碰到过面试官问这么一道题:Java并发包有些什么?

Java并发包,就是java.util.concurrent包下的类和子包。

大体分为三类:

一: 线程池工具

 核心类为ThreadPoolExecutor,通过这个类,可以构建出各种线程池。

二: 原子工具

如AtomicInteger、AtomicLong等,通过CAS保证操作的原子性。在实际应用中有很大的作用。

三: 锁

java Lock锁,有着实现了各种语义的锁。核心类有:

AbstractQueuedSynchronizer、ReentrantLock、ReentrantReadWriteLock等。

四: 线程安全的容器

ConcurrentHashMap  线程安全,锁粒度控制的好。

其他核心类还有 ConcurrentSkipListMap、CopyOnWriteArrayList

五: 并发队列

核心类有:

LinkedBlockingQueue、LinkedBlockingDeque。

六: 同步功能

CountDownLatch  一个线程A等待其他几个线程执行完后,线程A继续执行。

CyclicBarrier(num, 动作A)         多个线程等待CyclicBarrier.await()每执行num次后,先是动作A会执行,接着多个等待的线程再继续执行。

Semaphore(num)          相当于一个计数器,Semaphore.acquire 申请名额,阻塞函数,Semaphore.release 会释放名额,Semaphore

保证最多有num个任务在执行。

 

posted @   天NULL  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示