[PATCH 1/1] Get rid of synchronization in java.util.logging.LogRecord constructor

David Holmes - Sun Microsystems David.Holmes at Sun.COM
Fri Mar 13 02:14:34 UTC 2009

Andrew John Hughes said the following on 03/13/09 10:13:
> The rest of the code deals with allocating an ID to the
> thread creating the LogRequest object and doesn't depend on the global
> sequence number, so it doesn't matter if this is incremented by
> another thread before the constructor completes.  Note that
> Thread.currentThread.getId() now provides an identifier for threads as
> well, but this will reuse the identifiers of dead threads and could
> thus lead to possible confusion between log messages.

Both "thread ids" simply increment an integer. The Thread ID will wrap 
sooner than the Logger thread ID simply because not all threads will use 
the logger. But I don't think wrapping is a practical concern in either 

Still, gratuitous changes seem to always have unintended consequences to 
some piece of code somewhere, so I wouldn't worry about trying to reuse 
the Thread getId() here.

David Holmes

More information about the core-libs-dev mailing list