RFR: 8256643: Terminally deprecate ThreadGroup stop, destroy, isDestroyed,… [v3]
Stuart Marks
smarks at openjdk.java.net
Tue Nov 24 20:03:03 UTC 2020
On Sun, 22 Nov 2020 16:00:45 GMT, Alan Bateman <alanb at openjdk.org> wrote:
>> This change terminally deprecates the following methods defined by java.lang.ThreadGroup
>>
>> - stop
>> - destroy
>> - isDestroyed
>> - setDaemon
>> - isDaemon
>>
>> The stop method has been deprecated since=1.2 because it is inherently unsafe. It is time to terminally deprecate this method so it can be removed in a future release. Thread.stop will be examined in a separate issue.
>>
>> The destroy, isDestroyed, setDaemon, isDaemon methods support the mechanism to explicitly or automatically destroy a thread group. As detailed in JDK-8252885, the mechanism to destroy thread groups is flawed and racy. Furthermore, this mechanism inhibits efforts to drop the reference from a thread group to its threads (so that thread creation, starting and termination do not need to coordinate with their thread group). These methods should be terminally deprecated so they can be degraded in a future release and eventually removed.
>>
>> CSR with more information: https://bugs.openjdk.java.net/browse/JDK-8256644
>
> Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>
> - Tweak wording of @deprecated message to make it more general
> - Merge
> - Fixed typo in @deprecated text
> - Merge
> - Update jshell class
> - 8256643: Terminally deprecate ThreadGroup stop, destroy, isDestroyed, setDaemon and isDaemon
I'm ok with the wording "inherently flawed."
-------------
Marked as reviewed by smarks (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/1318
More information about the core-libs-dev
mailing list