当通过js Thread#getStackTrace() 或
从另一个线程请求堆栈跟踪时js ThreadMXBean#getThreadInfo(long[], int) ,
是否所有线程都必须进入一个安全点并因此必须等到所有其他线程都已经进入一个安全点?
该博客似乎暗示情况是这样的:
无论是采样单个线程还是所有线程,您都达到了全局安全点(至少在OpenJDK上,Zing稍有不同,但是作为探查器供应商OpenJDK是您的假设。)
这意味着从单个线程获取堆栈跟踪与从所有线程获取跟踪一样具有侵入性(就高开销而言,由于全局安全点命中的频率增加)。
但是,对于OpenJDK而言,实际上/仍然如此吗?您是否有任何指向这的原因或相关的源代码?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。