线程局部握手的解释
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
参考文献:
作为假定的一部分 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
参考文献: