python线程池等待全部任务结束再继续

import json
import time
from concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED
import requests

from Db import Db

db = Db()
url = ""
max_workers = 30
executor = ThreadPoolExecutor(max_workers=max_workers)
tasklist = []


def send(openiddic):
    openid = openiddic[0]
    


data = []
for d in data:
    task = executor.submit(send, ([d["wxopenid"]]))
    tasklist.append(task)
    if (len(tasklist) > max_workers):
        wait(tasklist, return_when=ALL_COMPLETED)
        tasklist.clear()
    print(d["wxopenid"])
wait(tasklist, return_when=ALL_COMPLETED)
print("succ")

 

posted @ 2022-01-29 17:01  wujf  阅读(3650)  评论(0编辑  收藏  举报