java juc相关
JUC全称Java Util Concurrency,是java中用于并发编程的工具类库,提供了丰富的类和接口,用于管理多线程,支持同步互斥操作。
JUC特点:
- 高效性:JUC提供了高度优化的并发控制机制,可以提高多线程应用程序的执行效率和吞吐量。
- 可扩展性:JUC支持灵活的扩展和定制,提供了各种类和接口,可以根据需求实现自定义的并发控制策略。
- 线程安全性:JUC中的类和接口通常是线程安全的,可以在多线程环境下正确地处理共享资源和并发问题。
常用JUC类和接口
- Lock接口:提供了显式的锁机制,包括ReentrantLock、ReentrantReadWriteLock等。
- Condition接口:与Lock配合使用,可以实现更细粒度的线程等待和唤醒。
- Atomic包:提供了原子变量和原子操作类,如AtomicInteger、AtomicLong、AtomicReference等。
- CountDownLatch:支持一组线程的同步,等待指定数量的线程完成后再执行。
- CyclicBarrier:支持一组线程的同步,等待所有线程到达屏障后再同时执行。
JUC中的并发集合类
-
ConcurrentHashMap:线程安全的哈希表实现。
-
CopyOnWriteArrayList:线程安全的动态数组实现。
-
ConcurrentLinkedQueue:线程安全的无界队列实现。
JUC中的锁与同步工具
-
ReentrantLock:可重入的互斥锁。
-
ReentrantReadWriteLock:可重入的读写锁。
-
Semaphore:控制同时访问的线程数量。
-
CountDownLatch:支持线程等待和唤醒。
JUC中的线程池
-
ExecutorService:线程池的抽象接口。
-
ThreadPoolExecutor:线程池的具体实现。
转载文章:https://blog.csdn.net/m0_72410588/article/details/131700224