java内存模型

多线程的三大特性:

  • 原子性,独一无二,一致性,保证线程安全问题
  • 可见性:java内存模型
  • 有序性:join,wait,notify 等可以通过多线程的这些方法进行控制它的执行顺序

发生多线程安全问题:

多个线程,同时共享同一个全局变量,做写操作时,会发生线程安全问题

java内存模型和java内存结构

java内存模型属于多线程的可见性 jmm,决定了一个线程与另一个线程是否可见

  • 主内存:主要存放全局变量
  • 私有本地内存:主要存放本地线程私有的变量

java内存结构属于jvm中的内存结构

volatile 关键字:保证多个线程可见,但不保证线程的原子性

atomicInteger 可以可以保证线程的原子性,安全(1.5jdk并发包的)

你可能感兴趣的:(java内存模型)