'Launch sub-workers before running.'

def run(self):

    self.threads = [threading.Thread(target=self.workers[ii].run) for ii in range(len(self.workers))]
    for t in self.threads:
        t.daemon = True
        t.start()
    super(WorkerGroup, self).run()
