RFR 8010182: Thread safety of Thread get/setName()
chris.hegarty at oracle.com
Sat May 18 07:57:16 UTC 2013
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
This issue came up on c-i a while back .
More information about the core-libs-dev