
并发专栏
文章平均质量分 76
Learning_foolish
时时勤拂拭,勿使惹尘埃 本来无一物,何处惹尘埃
展开
-
ThreadLocal
ThreadLocal类用来提供线程内部的局部变量ThreadLocal实例 通常来说都是private static类型的,用于关联线程和线程上下文。原创 2025-05-11 10:48:50 · 537 阅读 · 0 评论 -
读写锁简介
乐观读,StampedLock 支持 tryOptimisticRead() 方法(乐观读),读取完毕后需要做一次 戳校验 如果校验通过,表示这期间确实没有写操作,数据可以安全使用,如果校验没通过,需要重新获取读锁,保证数据安全。一般是获取,获取完了之后,再做双重非空判断。非空判断 ---》加锁 ---》非空判断,类似单例模式之中的双重锁写法。这里的非空判断,可以替换为对voliate修饰的变量的判断,类似于上面代码中的写法。重入时升级不支持:即持有读锁的情况下去获取写锁,会导致获取写锁永久等待。原创 2025-05-09 12:13:38 · 303 阅读 · 0 评论 -
ConcurrentHashMap
错误用法。原创 2025-05-08 10:48:04 · 710 阅读 · 0 评论 -
线程安全的集合类
参照某马文档,把具体细节补全,对应的代码敲一遍;对应设计模式中的装饰器模式。原创 2025-05-06 09:22:37 · 219 阅读 · 0 评论 -
线程间通信--线程间顺序控制-线程设计模式
(Guarded Suspension)是一种常用的模式,用于处理线程间通信和同步问题。其基本思想是:一个线程等待某个条件成立后才继续执行,而另一个线程负责在满足条件时通知等待的线程。线程的顺序控制,固定顺序,交替输出,对应某马课堂练习。原创 2025-05-04 10:33:39 · 328 阅读 · 0 评论 -
ReentrantLock
公平锁一般没有必要,会降低并发度;可以使用tryLock()去设置超时时间。送烟、送外卖的例子;原创 2025-05-03 21:05:54 · 222 阅读 · 0 评论 -
变量的线程安全分析
如果它们没有共享,则线程安全 如果它们被共享了,根据它们的状态是否能够改变,又分两种情况 如果只有读操作,则线程安全 如果有读写操作,则这段代码是临界区,需要考虑线程安全。局部变量是线程安全的 但局部变量引用的对象则未必 如果该对象没有逃离方法的作用访问,它是线程安全的 如果该对象逃离方法的作用范围,需要考虑线程安全。java.util.concurrent 包下的类。重点关注下面例子的安全性。原创 2025-05-03 15:00:51 · 195 阅读 · 0 评论 -
synchronized
synchronized原创 2022-05-07 08:30:46 · 192 阅读 · 0 评论 -
JMM以及三大特性
JMM以及三大特性原创 2022-04-25 22:19:21 · 609 阅读 · 0 评论 -
Future&CompletableFuture
Future&FutureTask介绍原创 2022-04-05 17:40:12 · 541 阅读 · 0 评论 -
阻塞队列简介及常见场景
阻塞队列简介原创 2022-04-03 18:34:42 · 3082 阅读 · 0 评论 -
AQS简介及其常见实现
AQS及其实现原创 2022-03-29 21:28:43 · 394 阅读 · 0 评论 -
并发-CAS及其实现juc.atomic
并发-CAS原创 2022-03-20 22:02:35 · 367 阅读 · 0 评论 -
线程基础知识
深入理解JAVA线程——线程基础知识原创 2022-03-20 21:30:08 · 174 阅读 · 0 评论 -
线程池常见知识点
创建线程线程上下文切换Executor、Executors Array、Arrays原创 2022-03-11 22:01:18 · 12 阅读 · 0 评论 -
并发-并发容器
并发容器原创 2022-03-11 21:11:56 · 694 阅读 · 0 评论