JUC概述

2022-08-16  本文已影响0人  大师艾小伦

什么是juc

juc是java中java.util.concurrent包的简称.它位于jdk的rt.jar中,是jdk的核心工具包之一。从字面上来理解就是java并发工具包。
其主要内容包含3个部分atomic包、locks包以直接在该包下的直接接口和类。其主要功能如下

atomic

这个包提供了一系列原子类,这些类是通过CAS来提供原子操作支持的,可以保证多线程环境下,当某个线程在执行atomic的方法时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个线程执行。Atomic类在软件层面上是非阻塞的,它的原子性其实是在硬件层面上借助相关的指令来保证的。

Atomic包中的类可以分成5组:
原子更新基本类型

原子更新数组类型

原子更新字段类型

原子更新引用类型

累加器

locks

这个包主要提供了很多java中的锁.例如:ReentrantLock,ReentrantReadWriteLock...等等.这些类就是通过AQS来实现的.locks包里面最重要的就是提供了LockReadWrite两种接口,提供两种类型的锁。这两个接口也就形成了整个locks包的基石。

Lock包内的接口和类列表如下

其他

其他直接在juc包下的类也分为以这么几种类型:集合类executors类工具类独立类异常类

集合类

executors类

工具类

独立类

异常类

上一篇 下一篇

猜你喜欢

热点阅读