On Sep 28, 2014, at 6:56 PM, Joshua Bartlett <j...@bartletts.id.au> wrote:
> On 26 September 2014 08:31, Glyph Lefkowitz <gl...@twistedmatrix.com> wrote: > So, does anyone out there have any code which makes use of the aforementioned > bad attributes of ThreadPool, whose applications would break if I removed > them? If so, how can I make you feel as bad about yourselves for using it as > I feel bad about myself for writing it? ;-) > > > There are a few times in a codebase I help maintain where we want a thread > pool of all daemon threads. The code we have for this overrides > threadFactory() like so: > > > class DaemonThreadPool(ThreadPool): > def threadFactory(self, *args, **kwargs): > t = threading.Thread(*args, **kwargs) > t.setDaemon(True) > return t > > > How would I do this with your proposed new API? I suppose honoring the threadFactory attribute is possible. In the new thread pool prototype I've created so far, "Team", provides pluggability for creating different kinds of "Worker": <https://github.com/twisted/twisted/blob/desynchronize-2673/twisted/threads/_team.py#L15> and the thread "Worker" provides pluggability for creating different kinds of thread: <https://github.com/twisted/twisted/blob/desynchronize-2673/twisted/threads/_threadworker.py#L15> so I'll make sure that this keeps working. That said: why did you need a threadpool of daemon threads? -glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python