【问题标题】:Explanation of the Thread-Local Handshakes线程本地握手的解释
【发布时间】:2018-04-23 16:26:25
【问题描述】:

作为推定的JDK 10 的一部分,提出了这个JEP 312: Thread-Local Handshakes

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

它本质上是不是试图恢复类似于已弃用的Thread.destroy() 的东西?

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

【问题讨论】:

  • 我们能得到答案吗?这个问题的当前状态是在元而不是这里是一个不受欢迎的情况。如果无法恢复答案?可以转发吗?似乎没有人知道为什么首先将其删除。

标签: java multithreading java-threads java-10


【解决方案1】:

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

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

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

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

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

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

OP 评论员:

JimmyBAndy TurnerskomisaAlexander Bollaert

参考资料:

【讨论】:

  • @RannLifshitz 将您自己的内容与您从其他人从 cmets 中提取的内容混合起来是可以的,只要您从其他地方获取的部分的归属是明确的。是否制作答案社区 wiki 是另一回事:如果您的大部分答案来自其他人的帖子,则这样做是合适的。另见:Why would you mark an answer as Community Wiki?(元)。
猜你喜欢
  • 2020-06-28
  • 2017-06-04
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多