摘要:
# CAS ## 问题 多线程环境不适用原子类保证线程安全i++,需要加synchronized关键字,锁重,性能较差 ![1687165367119](https://img2023.cnblogs.com/blog/2953748/202306/2953748-20230626152913284 阅读全文
摘要:
# JMM于volatile ## JMM ### 定义 JVM规范中试图定义一种Java内存模型(java Memory Model,简称JMM)来**屏蔽掉各种硬件和操作系统的内存访问差异**,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 所以,推导出我们需要知道JMM > 阅读全文
摘要:
# CompletableFuture ## Future为什么会出现 Future接口可以为主线程开一个分支任务,专门为主线程处理耗时耗力的复杂任务 Future提供一个异步并行计算的功能 异步多线程执行且有返回结果 三个特点 多线程/有返回/异步任务 ## Future常用实现类FutureTa 阅读全文
摘要:
# 原子操作类 ## 总览 - AtomicBoolean - AtomicInteger - AtomicIntegerArray - [AtomicIntegerFieldUpdater](AtomicIntegerFieldUpdater.html) - AtomicLong - [Atomi 阅读全文
摘要:
# LockSupport与线程中断 ## 线程中断 首先 一个线程不应该由其他线程来强制中断或停止,而是***应该由线程自己自行停止***,自己来决定自己的命运。所以,Thread.stop,Thread.suspend, Thread.resume 都已经被废弃了。 其次 在Ja 阅读全文
摘要:
# 多线程锁 ## 乐观锁与悲观锁 悲观锁:认为 在使用数据的时候一定会有线程来修改数据,因此在获取数据的时候会先加索,确保数据不会被别的线程修改 synchronized和Lock的实现类都是悲观锁 使用场景:适合操作写多的场景,**先加锁**可以保证写操作时数据正确,显示锁定后**再 阅读全文