servers = ["google.com", "stackoverflow.com", "yahoo.com"] results = [] def worker(server): host = server[0] # connect to host and such return result def finish(worker, result): results.append(result) pool = ThreadPool(1000) item = makeRequests(worker, servers, finish) [pool.putRequest(req) for req in requests] pool.wait() # do something with results