It's based on Item 68 from Effective Java (prefer executors and tasks to threads), and those use Runnable and Callable<T> instead of Thread. Plus it's simpler to implement Runnable and construct a Thread from it if necessary. Overall, it's better to use the Executors class to spawn off threads.
On 27 April 2014 23:22, Ralph Goers <ralph.go...@dslextreme.com> wrote: > I wondered the same thing myself. I think Matt stated he preferred > Runnable to extending Thread in the past, but I really don’t like changes > like this just for the sake of someone’s personal preference. While we do > have sort of an unwritten list of coding guidelines this one isn’t on that > list (at least, not yet). > > Ralph > > > On Apr 27, 2014, at 8:22 PM, Remko Popma <remko.po...@gmail.com> wrote: > > > Hi Matt, > > I don't mind this change, but why do you think this is better? This is > all private internal & the previous code was shorter... > > > > Remko > > > > Sent from my iPhone > > > >> On 2014/04/28, at 3:31, mattsic...@apache.org wrote: > >> > >> Author: mattsicker > >> Date: Sun Apr 27 18:31:20 2014 > >> New Revision: 1590447 > >> > >> URL: http://svn.apache.org/r1590447 > >> Log: > >> Convert anonymous thread to runnable. > >> > >> Modified: > >> > logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/CachedClock.java > >> > >> Modified: > logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/CachedClock.java > >> URL: > http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/CachedClock.java?rev=1590447&r1=1590446&r2=1590447&view=diff > >> > ============================================================================== > >> --- > logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/CachedClock.java > (original) > >> +++ > logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/CachedClock.java > Sun Apr 27 18:31:20 2014 > >> @@ -31,20 +31,20 @@ public final class CachedClock implement > >> private static CachedClock instance = new CachedClock(); > >> private volatile long millis = System.currentTimeMillis(); > >> private volatile short count = 0; > >> - private final Thread updater = new Thread("Clock Updater Thread") { > >> - @Override > >> - public void run() { > >> - while (true) { > >> - final long time = System.currentTimeMillis(); > >> - millis = time; > >> - > >> - // avoid explicit dependency on sun.misc.Util > >> - LockSupport.parkNanos(1000 * 1000); > >> - } > >> - } > >> - }; > >> > >> private CachedClock() { > >> + final Thread updater = new Thread(new Runnable() { > >> + @Override > >> + public void run() { > >> + while (true) { > >> + final long time = System.currentTimeMillis(); > >> + millis = time; > >> + > >> + // avoid explicit dependency on sun.misc.Util > >> + LockSupport.parkNanos(1000 * 1000); > >> + } > >> + } > >> + }, "Clock Updater Thread"); > >> updater.setDaemon(true); > >> updater.start(); > >> } > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > > -- Matt Sicker <boa...@gmail.com>