Python 多线程处理十万个元素:使用 concurrent.futures 模块
你可以使用 Python 的 'concurrent.futures' 模块来实现多线程处理。下面是一个使用 5 个线程处理十万个元素的示例代码:
import concurrent.futures
# 定义一个处理任务的函数
def process_item(item):
# 在这里写入你的处理逻辑
# ...
# 创建一个线程池,指定线程数量为5
executor = concurrent.futures.ThreadPoolExecutor(max_workers=5)
# 创建一个列表来保存任务结果
results = []
# 创建一个列表来保存任务
items = [1, 2, 3, ..., 100000]
# 提交任务给线程池进行处理
for item in items:
future = executor.submit(process_item, item)
results.append(future)
# 等待所有任务完成
concurrent.futures.wait(results)
# 处理任务结果
for result in results:
# 处理每个任务的结果
# ...
在这个示例中,我们首先定义了一个名为 'process_item' 的函数,用于处理每个元素。然后,我们创建了一个线程池 'executor',指定线程数量为 5。接下来,我们将任务逐个提交给线程池进行处理,并将每个任务的结果保存在 'results' 列表中。最后,我们使用 'concurrent.futures.wait' 等待所有任务完成,然后对任务结果进行处理。
请注意,以上示例中的 'process_item' 函数是一个占位函数,你需要根据你的具体需求来编写实际的处理逻辑。
原文地址: https://www.cveoy.top/t/topic/o2ah 著作权归作者所有。请勿转载和采集!