线程本地握手的解释

33
作为假设的JDK 10的一部分,提出了JEP 312:线程本地握手
我试图理解它的描述,但我仍然不确定我正确地理解了这个想法。
这实质上是尝试重新启用类似于已弃用的Thread.destroy()的东西吗?
这个接口在理论上会是什么样子?

我们能否得到答案呢?这个问题当前处于元话题而不是这里,这是一个不理想的情况。如果无法恢复答案,可以重新发布吗?似乎没有人知道为什么首先删除了这个问题。 - blkpingu
1个回答

12

在研究JEP: 312线程本地握手并阅读了这个问题的出色评论后,以下是一个快速总结。

  • 它是一种性能增强,不能直接由开发人员使用:

    提出了一种“握手”机制作为Hotspot safepoints机制的优化。

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

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

  • 此JEP与线程终止API(如Thread.destroy())无关。由于这个主题已经被提出,我会在下面的参考文献中添加一些关于线程终止的文章。

OP评论员:

JimmyBAndy TurnerskomisaAlexander Bollaert

参考文献:


1
@RannLifshitz 混合自己的内容和从他人评论中提取的内容是可以的,只要你从其他地方获取的部分归属清晰明了。是否将答案标记为社区Wiki是一个单独的问题:如果你的大部分答案都来源于其他帖子,则应该这样做。另请参见:为什么要将答案标记为Community Wiki?(元)。 - duplode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接