On Tue, 9 Aug 2022 05:51:17 GMT, Alan Bateman <al...@openjdk.org> wrote:

>> The whole paragraph is about thread termination, so I don't think we need to 
>> say "terminate" again in the last sentence. We could mention isAlive or the 
>> TERMINATED state, but that brings in Thread.State which which require a 
>> discussion of the thread's life cycle.
>> 
>> The "join" sentence was kind of tacked on to the end of a paragraph in the 
>> original text; Alex suggested that I separate it into its own paragraph when 
>> we were working on the "termination" paragraph. Alex doesn't mind 
>> single-sentence paragraphs, which isn't my preference. But tacking the 
>> "join" sentence onto the end of the "termination" paragraph actually doesn't 
>> make any sense. Termination is something that happens to _this_ thread. The 
>> join method is called from _another_ thread, and this implicit shift of 
>> viewpoint would weaken the paragraph.
>> 
>> Frankly I think there needs to be a separate editorial pass over the Thread 
>> docs. I know they were just rewritten in JDK 19, but there are some odd 
>> things about it. The Thread.State life cycle isn't explained and isn't 
>> referenced by methods such as start() and isAlive(). Also, various mentions 
>> of uncaught exception handling talk about a thread's abrupt termination. 
>> There isn't any such thing; a _method_ can complete normally or abruptly, 
>> and when a thread's run() method completes either way, the thread simply 
>> terminates.
>
> Thread.State was added (in Java 5) for monitoring and management purposes, 
> it's not an API that most libraries or programs would use. It could be 
> introduced in the class description and referenced from other APIs that 
> change/test the state but it would encourage use beyond the original intent.

What you have is okay although I would have preferred if the sentence on the 
join method was in the previous paragraph rather as it fits with termination.

-------------

PR: https://git.openjdk.org/jdk/pull/9437

Reply via email to