美文网首页
java并发编程学习--JMM学习

java并发编程学习--JMM学习

作者: 爱编程的凯哥 | 来源:发表于2019-03-17 13:59 被阅读0次

简介

最近也一直面试JMM,java memory Model,并发过程中如何处理可见性、原子性、有序性.

并发中的关键问题

  • 线程间如何通信;wait(),notify(),notifyAll()
    1. 共享内存--隐式通信
    2. 消息传递--显示通信

  • 线程之间如何同和同步
    在共享模型中,

处理

在jmm中,什么是内存共享的呢?

  1. volatile: 如int I=0;

    • 对于声明了Volatile的变量进行写操作的时候,jVM会向处理器发送一条lock前缀指令,更新主内存.
    • 缓存在多处理器情况下,保证各处理器缓存一致性特点,通过缓存一致性更新缓存
  2. Synchronized :可重入锁、互斥性、可见性.
    Volatile: 原子性、可见性,不能做到符合操作的原子性.

  3. Synchronized:
    通过命令javap -v TestSyniz.class 查看字节码,

相关文章

网友评论

      本文标题:java并发编程学习--JMM学习

      本文链接:https://www.haomeiwen.com/subject/glaiyqtx.html