Looks good.

Since the char array is never modified it could use the String(char[], boolean) 
constructor. This has advantages for cases such as logging which may read the 
thread name very many times.

Mike

On May 18 2013, at 00: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/
> 
> -Chris.
> 
> [1] http://cs.oswego.edu/pipermail/concurrency-interest/2013-March/010935.html

Reply via email to