
线程安全问题
java中的线程安全问题-可见性、原子性、synchronized
阿莫西邻
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java锁相关
目录 目标 JAVA中锁的概念 同步关键字synchronized synchronized底层原理 堆内存中的java对象 目标 锁是访问资源的凭据,会消耗资源。 wait会破会Synchronized的原子性,因为会释放锁。 Synchronized从使用到原理。 JAVA中锁的概念 冲突:指数据的不一致性。 自旋锁:CAS操作机制,循环尝试等待。 乐观锁:不会有冲突,会进行比对判断,不一...原创 2019-12-26 22:27:37 · 93 阅读 · 0 评论 -
线程安全之原子操作
目录 Atomic相关类和CSA机制 原子操作 存在原子操作的问题。 核心在于资源在该操作中保持一致 反编译后字节码指令 读取- 赋值- 相加 分析字节码执行顺序 问题原因 在t1线程put后,t2线程在t1线程put之前操作,操作了无效数据,导致出现数据一致性问题。 和可见性问题的区别 可见性:先写后读,无法读到。 此原子问题:在写之前就以读取,所以和可见性问题没有...原创 2019-12-26 17:52:33 · 166 阅读 · 0 评论 -
java内存模型详解-可见性
目录 JVM运行时数据区 Java内存模型 vs JVM运行时数据区 初看java内存模型 多线程中的问题 从内存结构到内存模型 JIT编译器 volatile关键字 Shared Variables(共享变量)定义 对于同步的规则定义 Happens-before先行发生原则 final在JMM中的处理 Word Traring字节处理 double和long的特殊处理 再看Java内存模型...原创 2019-12-26 17:02:16 · 256 阅读 · 0 评论