线程方法destroy()和stop(Throwable)在JDK 11中删除

@DrDeprecator (Stuart Marks)在core-libs-dev OpenJDK邮件列表上的消息“ RFR(s):8204243:remove Thread.destroy()和Thread.stop(Throwable) ”是对以下文档的审阅(RFR)请求与JDK-8204243相关联的更改集[“删除Thread.destroy()和Thread.stop(Throwable)”]。 错误报告和邮件列表消息都描述了这两个引用的Thread方法的历史,并解释说这两种方法都没有真正有用的作用。

用于java.lang.Thread的JDK 10 Javadoc API文档显示了Thread类上已弃用的六个方法,其中三个方法已明确标记为要删除。 下表总结了这些不建议使用的Thread方法。

从JDK 10开始在java.lang.Thread中弃用的方法
方法 不推荐使用
以来
对于
搬走
JDK 10
状态
countStackFrames() 1.2 取决于不推荐使用的suspend()
破坏() 1.5 自启动以来引发NoSuchMethodError
( 从未实施 )
恢复() 1.2 没有 “ 仅存在于与suspend()
停() 1.2 没有 “ 这种方法本质上是不安全的。
停止(可抛出) 1.2 自JDK 8起引发 UnsupportedOperationException
暂停() 1.2 没有 “ 这种方法...本质上是容易死锁的。

现在看来,两三个Thread被弃用标记为删除方法将JDK 11这两种方法去除Thread.destroy()和使用Thread.stop(Throwable的)应JDK 11的完全去除destroy()方法除了抛出NoSuchMethodError外从未做过任何事情,而stop(Throwable)方法除了自JDK 8开始抛出UnsupportedOperationException之外就什么都没有做。

其他参考

  • Java线程原始弃用
  • 如何杀死Java线程
  • 为什么不赞成停止,暂停和恢复线程
  • RFR:8204243:删除Thread.destroy()和Thread.stop(Throwable)
  • JDK-8204243 [“删除Thread.destroy()和Thread.stop(Throwable)”)
  • JDK-8204260 [“删除Thread.destroy()和Thread.stop(Throwable)”)
  • JDK-4102667 [“ Thread.countStackFrames()应该是不推荐使用的方法。”]
  • JDK-8177680 [“伞:从JDK 11删除终端弃用的API”]
  • JDK-8177554 [“伞:从JDK 10中删除终端弃用的API”]
  • 是时候停止Thread.stop了吗? ( 再访 )

翻译自: https://www.javacodegeeks.com/2018/06/thread-methods-destroy-stop-removed.html

你可能感兴趣的:(线程方法destroy()和stop(Throwable)在JDK 11中删除)