如题,面试时碰到这个问题,是怎样从jvm层次理解volatile, synchronized, join
《深入理解Java虚拟机》12.3.3 对于volatile型变量的特殊规则介绍了volatile,指令addl $0x0, (%esp)使得本CPU的Cache写入内存,该写入动作也会引起别的CPU或者别的内核无效化其Cache,这让volatile变量的修改对其他CPU立即可见。
《实战JAVA虚拟机》11.2.10 同步控制介绍了synchronized,使用monitorenter, monitorexit来完成临界区的进入和离开操作
join就没有什么书籍介绍了,只是在《The java Language Specification(java SE 7 Edition)》17.2 Wait Sets and Notification有句话是这么说的
Thread class's methods for sleeping and joining other threads have properties derived from those of wait and notification actions.
有没有人帮忙看看,怎样回答这个join的问题?