安全区域该怎么理解?

2021-07-23 22:59:40 +08:00
 zhao1014

处于非执行状态的线程,例如 BLOCKED 、SLEEP 状态,无法响应虚拟机的中断请求,不能执行到安全点挂起,所以引入了安全区域。

不过处于这种状态的线程本身就不会导致引用关系发生改变吧?这个安全区域就是线程挂起时给虚拟机发个通知,线程恢复时检查枚举根节点是否结束,这样理解对吗?

书里说安全区域是一段代码,执行这段代码时引用关系不会发生变化,搞得我有点转不过来弯,已经挂起的线程还怎么执行到安全区域?让线程挂起的代码段就是安全区域的意思吗?

1585 次点击
所在节点    Java
2 条回复
yinusxxxx
2021-07-23 23:54:56 +08:00
为什么我用 google 搜 safe region jvm 关键字搜到的都是中文资料,这又是哪个大神造的概念还是小弟我无知了
zhao1014
2021-07-24 00:50:10 +08:00
@yinusxxxx 我看的周志明的书,第三版第二版对安全区域的表述是一样的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/791427

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX