def __init__(self, threads=100, offset=0, timeout=15.0): self.lines = Lines(f=_DOMAINS_FILE) self.num_lines = len(self.lines.d) self.concurrent = threads self.q = Queue(self.concurrent * 2) for self.i in range(self.concurrent): self.t = Thread(target=self.doWork) self.t.daemon = True self.t.start() try: for self.i in range(offset, self.num_lines): self.q.put(self.i) self.q.join() except KeyboardInterrupt: sys.exit(1)