JMM和Happen Before

  线程是操作系统的最小调度单位,也是执行单位,为了追求高性能,线程里面的指令执行顺序是不定的,这来自编译器会重排序指令,处理器会乱序或者并行的执行,编译器还有可能将数据放在处理器的寄存器中等,这些优化技术在单线程的程序中表现得很好,但是到了多线程程序中就有问题了。   首先要了解下Java的内存结构,然后我们再进入线程和内存的关系, Java的内存结构如下   如果多线程之间不共享数据,这也表现
相关文章
相关标签/搜索