并发
lcyyyyy_
这个作者很懒,什么都没留下…
展开
-
Java锁(synchronized、AQS、Lock、ReentrantLock、公平锁、非公平锁)
Java中的锁synchronized实现原理1.6版本做了什么优化对象头锁升级机制偏向锁轻量级锁Java语言实现的锁AQSLock接口ReentrantLock源码分析synchronizedsynchronized用于并发场景,在1.6版本之前被称为重量级锁,也是一种悲观锁,可重入锁。1.6版本进行可优化,大大提高了synchronized的效率。注意,synchronized关键字修饰类和静态方法,锁住类对象;修饰方法,锁住调用此方法的对象实现原理synchronized是jvm实现的一种互原创 2020-10-08 23:45:52 · 334 阅读 · 0 评论 -
源码分析:Java原子类的实现原理、使用方法
Java原子类原子类有哪些基本类型的原子类源码分析原子类的目的就是在并发环境下保证线程安全,并且保证效率。原子类有哪些Java的原子类在java.util.concurrent.atomic包下,包内有16个类(jdk8)基本类型的原子类AtomicBooleanAtomicIntegerAtomicLong源码分析以AutomicInteger为例,分析源码public class AtomicInteger extends Number implements java.io.S原创 2020-10-07 23:50:24 · 353 阅读 · 0 评论 -
Java并发-JMM、volatile、CAS
Java并发-JMM主内存与工作内存volatile关键字volatile使用场景主内存与工作内存JMM的目标是规定各个变量的访问规则,JMM规定所有变量存储再主内存,每条线程有自己的工作内存,线程工作内存保留着主内存的副本,线程对变量的所有操作都只能在工作内存中进行,不能操作主内存,也不能访问其他线程的变量。JMM定义了8种原子操作保证及一些限定条件保证了一些线程安全的内存访问操作。略了,如果这部分理论以后有应用再补。volatile关键字volatile是JVM提供的最轻量级的同步机制。被v原创 2020-09-27 17:57:24 · 319 阅读 · 0 评论 -
Java并发-线程池
Java线程池线程池的作用成员变量线程池状态构造方法Executors提供的线程池newFixedThreadPool()newSingleThreadExecutor()newCachedThreadPool()newScheduledThreadPool()线程池的作用管理线程,防止线程频繁的创建或销毁带来的性能消耗##核心类 ThreadPoolExecutor成员变量 //控制线程池状态,前3位是状态,后29位是RUNNING状态的线程数 private final AtomicI原创 2020-09-25 09:42:42 · 206 阅读 · 0 评论 -
Java并发-线程
Java并发-线程线程和进程的区别Java 创建线程继承Thread类实现Runnable实现Callable线程状态及转换Thread有关的方法线程和进程的区别根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位开销:每个进程都有独立的代码和数据空间,程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程原创 2020-09-23 17:44:55 · 74 阅读 · 0 评论