JUC本质
同步、互斥,分工
无锁、有锁
JMM三个角度去分析:java层面、jvm层面、硬件层面
并发、并行清楚
并发的三大特性:可见性、原子性、有序性
并发可见性:mesi
JMM:抽象概念、线程之间怎么交互的
判断条件flag加载线程A的本地内存【read】–>load->use->assign->store->write(本地内存缓存的数据一段时间没用会清除缓存的数据重新获取主存中获取共享数据)
yield方法会让出时间片,让出CPU,上下文切换,保存现场,在线程重新获得CPU的执行时又会加载上下文【还原现场】
volatile:【JVM内存屏障实现】
内存共享
等待唤醒协作的模式