Preferring Executors to Threads really has nothing to do with the change below since there isn’t an Executor in sight in the old or the new. If you want a pool of Threads then item 68 applies. For a single thread creating a Thread with a run method is OK. So is the way you did it - it is just more verbose.
Ralph On Apr 28, 2014, at 9:33 AM, Matt Sicker <boa...@gmail.com> wrote: > 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>