线程池ThreadPool用法
import threadpool def standard_mult_thread(objs, thread_fn): args_tp_lst = [] for obj in objs: params = {'tsk_obj': obj} args_tp_lst.append((None, params)) pool_size = len(args_tp_lst) if pool_size == 0: return pool = threadpool.ThreadPool(pool_size) requests = threadpool.makeRequests(thread_fn, args_list=args_tp_lst) [pool.putRequest(req) for req in requests] pool.wait() pool.dismissWorkers(pool_size, do_join=True)
线程池的作用是:
为所有任务创建线程,将素有线程放到线程池中,通过线程池管理线程
用法说明:
线程池的数量不能无限大,必须要有一个限制
一般而言,线程池中的线程数为cpu核数的2倍或者cpu核数的2倍加2
具体线程数需要根据实际测试得出。
用法细节:
线程函数 thread_fn 的参数名称必须要和 params 参数字典中的 key 位置对应且名称相同

浙公网安备 33010602011771号