伪代码如下,我发现整个函数的执行时间倒不是很长,但是关闭连接池,竟然要消耗 1 秒,看起来不多,几千条数据累加起来也挺不得了的,那么有什么办法优化这一部分的代码,让它的关闭耗时没那么高?
from multiprocessing.dummy import Pool as ThreadPool
def my_function(page):
print(page)
pages_offset = [0, 100, 200, 300]
pool = ThreadPool(5)
pool.map(my_function, pages_offset)
pool.close()
pool.join()
1
hahaba 2021-12-27 18:39:27 +08:00
建议把业务逻辑说出来,最优解不一定要用上诉伪代码实现
|
2
LeeReamond 2021-12-27 19:43:46 +08:00
为什么从多进程库引入的会叫“线程池”,这是进程池啊
|
3
shyling 2021-12-27 19:53:43 +08:00
几千条数据要关系几千次 [连接池] ?
|
4
shyling 2021-12-27 19:53:51 +08:00
关系->关闭
|
5
Phishion OP @shyling 我也找到原因了,我关闭连接池太频繁了,现在已经解决了,我之前都是多线程跑网络数据瓶颈不在这上面,现在性能终于上来了,谢谢
|
6
ruanimal 2021-12-29 10:41:24 +08:00
@LeeReamond multiprocessing.dummy 没用过?
|