多线程学习二 解决可见性和有序性

导致Java多线程可见性问题的原因是因为缓存问题,而导致有序性问题的原因是编译优化,直观的解决问题就是禁用缓存和禁用编译优化(选择性) 具体方法: volatile,synchronized 和 final 三个关键字,以及六项Happens-Before 规则 Happens-Before: 1.程序的顺序性规则 程序对前面变量的需求一定对后面可见 2.volatile规则 对一个volatil
相关文章
相关标签/搜索