RFR 8010182: Thread safety of Thread get/setName()

Alan Bateman Alan.Bateman at oracle.com
Tue May 21 07:58:09 UTC 2013


On 18/05/2013 08:57, Chris Hegarty wrote:
> Thread getName and setName are not thread-safe. The "expected" usage 
> is to set a name before starting the thread and only read it thereafter.
>
> It is desirable to support the setting of thread name dynamically, 
> mainly for monitoring/management/debugging. The typical scenario is 
> the single-writer, multiple-reader case. So, making name volatile is 
> sufficient. However, setName also sets the native thread name. This is 
> currently restricted to the current thread, since there could be a 
> race if the thread is terminating. Making setName synchronized would 
> eliminate that race, and allow for the native thread name to be set 
> from other threads.
>
> This issue came up on c-i a while back [1].
>
> http://cr.openjdk.java.net/~chegar/8010182/webrev.00/webrev/
Looks fine to me too.

-Alan



More information about the core-libs-dev mailing list