参考:python多线程执行同一个函数任务之threading、ThreadPoolExecutor.map
主要实现的是多个线程同时是完成一个大型任务,代码的思路是把大任务分解,得到每个线程各自需要处理的任务量,然后再把任务函数和任务量分别放入不同线程中
如果要换成自己的任务的话,要改的地方:
_l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
换成你自己需要处理的总任务量- 在
split_count = 2
选择每个线程的任务量 def work(df, _list)
换成自己的任务函数,此处return
的内容会存到results
中results = t.map(work, new_list, count_list)
的map
中第一位表示你的任务函数,后面两个为你的任务所需要传入的变量- 最后再用多层
for
循环取出results
的结果
# -*- coding: utf-8 -*-
import math
import random
import time
from concurrent.futures import ThreadPoolExecutor
def split_list():
# 线程列表
new_list = []
count_list = []