Here, I found a debate over what I was trying to convey:

http://stackoverflow.com/questions/541487/implements-runnable-vs-extends-thread


On 28 April 2014 12:22, Ralph Goers <ralph.go...@dslextreme.com> wrote:

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


-- 
Matt Sicker <boa...@gmail.com>

Reply via email to