记录一下最近写的——用 Python 线程池来并行生成数据
from tqdm import tqdm
from concurrent.futures import ThreadPoolExecutor, as_completed
# 使用线程池并行生成数据
max_workers = min(64, remaining_count) # 限制最大线程数
print(f"使用 {max_workers} 个线程并行生成数据")
with ThreadPoolExecutor(max_workers=max_workers) as executor:
# 提交所有任务
future_to_index = {
executor.submit(generate_data): i #generate_data 这里写需要运行的任务函数名
for i in range(remaining_count)
}
# 使用tqdm显示进度
with tqdm(total=remaining_count, desc="生成进度", unit="条") as pbar:
for future in as_completed(future_to_index):
result = future.result()
if result:
dataset.append(result)
pbar.update(1)