I'm not sure how many threads we spawn are actually reusable, but gathering them into a single pool would definitely help figure out which ones can be used.
Also, would this be vaguely related to the custom Log4j ThreadLocal object we were thinking about a little while ago? On 5 July 2016 at 04:52, Mikael Ståldal <mikael.stal...@magine.com> wrote: > Sounds like a good idea. I think it's also good to reuse threads for > performance. > > On Mon, Jul 4, 2016 at 10:00 PM, Matt Sicker <boa...@gmail.com> wrote: > >> This sounds like an interesting idea worth pursuing. >> >> On 4 July 2016 at 14:56, Gary Gregory <garydgreg...@gmail.com> wrote: >> >>> When I see code like: >>> >>> LOGGER.debug("RollingFileManager executing async >>> {}", descriptor.getAsynchronous()); >>> thread = new Log4jThread(new >>> AsyncAction(descriptor.getAsynchronous(), this)); >>> thread.start(); >>> >>> and: >>> >>> final Thread thread = new Log4jThread(new >>> ReconfigurationWorker(listener, reconfigurable)); >>> thread.setDaemon(true); >>> thread.start(); >>> >>> and other places, I think: "and poof, I've lost track of that thread". >>> >>> What if we used a thread pool (ExecutorService) to track all of our >>> threads? This would allow for at least trying for an orderly shutdown. This >>> would avoid problems like one part of an app thinking that rollovers should >>> be done when they are not because a log4j context has been stopped (like in >>> our test probably) but the rollover thread is still going about doing its >>> work. >>> >>> This would be for 2.7 I think. >>> >>> We could then have a different context stop API, maybe with a timeout or >>> not, something like ExecutorService's shutdown() vs. shutdownNow(). >>> >>> Thoughts? >>> >>> Happy 4th! >>> >>> Gary >>> >>> -- >>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>> Java Persistence with Hibernate, Second Edition >>> <http://www.manning.com/bauer3/> >>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>> Spring Batch in Action <http://www.manning.com/templier/> >>> Blog: http://garygregory.wordpress.com >>> Home: http://garygregory.com/ >>> Tweet! http://twitter.com/GaryGregory >>> >> >> >> >> -- >> Matt Sicker <boa...@gmail.com> >> > > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > mikael.stal...@magine.com > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > Privileged and/or Confidential Information may be contained in this > message. If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply > email. > -- Matt Sicker <boa...@gmail.com>