线程局部握手的解释

Explanation of the Thread-Local Handshakes

作为假定的一部分 JDK 10 this JEP 312: Thread-Local Handshakes 被提出。

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

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

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

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

  • 这是一个性能增强,开发者不能直接使用:

    提出handshake机制作为Hotspot safepoints机制的优化。

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

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

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

OP评论员:

JimmyB , Andy Turner , skomisa , Alexander Bollaert

参考文献: