On Thu, 1 Sep 2022 06:31:11 GMT, David Holmes <dhol...@openjdk.org> wrote:

>> There are subtle differences (invoking a virtual Thread's run method 
>> directly does no nothing) but that is too much detail and would confusing to 
>> say anything about in the introduction paragraphs.
>> 
>> The following is closer to what I think we should have. The existing 
>> paragraph 2 describes starting a thread so this is where the Thread.run 
>> method is introduced. Paragraph 3 follows to describe termination.
>> 
>> 
>>  * <p> {@code Thread} defines constructors and a {@link Builder} to create 
>> threads.
>>  * {@linkplain #start() Starting} a thread schedules it to execute its 
>> {@link #run() run}
>>  * method. The newly started thread executes concurrently with the thread 
>> that caused
>>  * it to start.
>>  *
>>  * <p> A thread <i>terminates</i> if either its {@code run} method completes 
>> normally,
>>  * or if its {@code run} method completes abruptly and the appropriate 
>> {@linkplain
>>  * Thread.UncaughtExceptionHandler uncaught exception handler} completes 
>> normally or
>>  * abruptly. With no code left to run, the thread has completed execution. 
>> Thread
>>  * defines the {@link #join() join} method to wait for a thread to terminate.
>
> That sounds reasonable to me.

OK, I've applied Alan's suggestion with slight edits.

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

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

Reply via email to