'Create a L{ThreadWorker} with a function to start a thread and a queue
to use to communicate with that thread.
@param startThread: a callable that takes a callable to run in another
thread.
@type startThread: callable taking a 0-argument callable and returning
nothing.
@param queue: A L{Queue} to use to give tasks to the thread created by
C{startThread}.
@param queue: L{Queue}'

def __init__(self, startThread, queue):

    self._q = queue
    self._hasQuit = Quit()
    def work():
        for task in iter(queue.get, _stop):
            task()
    startThread(work)
