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

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 case.

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