33

作为假定的JDK 10的一部分,提出了这个JEP 312:线程本地握手

我试图掌握它的描述,但我仍然不确定我是否正确理解了这个想法。

它本质上是试图重新激活类似于已弃用的Thread.destroy()的东西吗?

这个界面理论上会是什么样子?

4

1 回答 1

12

在研究了JEP: 312 Thread-Local-Handshakes并阅读了对这个问题的优秀评论之后,这里有一个快速总结。

  • 这是一种性能增强,开发人员无法直接使用:

    提出了一种handshake机制作为该Hotspot safepoints机制的优化。

    前者允许安全点中的线程在执行监管操作(握手回调)后立即继续执行。

    后者强制所有线程在安全点上阻塞,以便进行关键操作(例如 YoungGen GC 或 Full GC 的 STW 部分)。只有在关键操作完成执行后才会释放线程。

  • 此 JEP 与Thread.destroy()等线程终止 API 无关。既然已经提出了这个主题,我将在下面的参考资料中添加几篇关于线程终止的文章。

OP评论员:

JimmyB安迪·特纳斯科米萨亚历山大·博拉特

参考:

于 2018-05-05T03:10:54.847 回答