V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhao1014
V2EX  ›  Java

安全区域该怎么理解?

  •  
  •   zhao1014 · 2021-07-23 22:59:40 +08:00 · 1766 次点击
    这是一个创建于 1222 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    2 条回复    2021-07-24 00:50:10 +08:00
    yinusxxxx
        1
    yinusxxxx  
       2021-07-23 23:54:56 +08:00
    为什么我用 google 搜 safe region jvm 关键字搜到的都是中文资料,这又是哪个大神造的概念还是小弟我无知了
    zhao1014
        2
    zhao1014  
    OP
       2021-07-24 00:50:10 +08:00
    @yinusxxxx 我看的周志明的书,第三版第二版对安全区域的表述是一样的。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:06 · PVG 13:06 · LAX 21:06 · JFK 00:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.