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