python ThreadPoolExecutor线程池使用
python有好几种实现线程池的方式, 注意选择一下,哪种是自己需要的。 最近用上ThreadPoolExecutor, 用来代替celery的方式。 主要是用在celery上的时间太少, 没有吃透, 还有,我们的应用没有复杂到那地步, 多开几个服务器,也可以实现线程池的扩展。 ThreadPoolExecutor主要有submit和map方式。 map就够用我们的场景了。 使用ThreadPoolExecutor时,需要注意的是map函数的参数是如何构造的。 (就是将cmd_run后面的参数,构造为有相同于进程池数量的参数列表!!!) 【就是参数个人为cmd_run要求的个数,但列表内的长度为进程池数量,利用率刚好】 data为每个函数的返回值。 注意,进程的退出,不到山穷水尽,不要用os.exit()这样的函数, python可能无法正常完成数据操作及资源回收。 最好是利用函数的返回值自然退出线程,高端些~ from concurrent.futures import ThreadPoolExecutor executor = ThreadPoolExecutor(max_work...

