destroy 方法
@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 方法