处于非执行状态的线程,例如 BLOCKED 、SLEEP 状态,无法响应虚拟机的中断请求,不能执行到安全点挂起,所以引入了安全区域。
不过处于这种状态的线程本身就不会导致引用关系发生改变吧?这个安全区域就是线程挂起时给虚拟机发个通知,线程恢复时检查枚举根节点是否结束,这样理解对吗?
书里说安全区域是一段代码,执行这段代码时引用关系不会发生变化,搞得我有点转不过来弯,已经挂起的线程还怎么执行到安全区域?让线程挂起的代码段就是安全区域的意思吗?
1
yinusxxxx 2021-07-23 23:54:56 +08:00
为什么我用 google 搜 safe region jvm 关键字搜到的都是中文资料,这又是哪个大神造的概念还是小弟我无知了
|