futures = [] with concurrent.futures.ProcessPoolExecutor(max_workers=cpus) as executor: for i inrange(0, cpus): stop = per_thread_cnt * (i + 1) if i == cpus - 1: stop = code_len code_list = codes[per_thread_cnt * i:stop] futures.append(executor.submit(download_datas, param, code_list))
for future in concurrent.futures.as_completed(futures): try: data = future.result() except Exception as exc: print('generated an exception: %s' % exc)