文章详情页
python 加快程序运行问题
浏览:209日期:2022-07-26 13:50:42
问题描述
假设:
def get(url): #这里是get请求 return urlfor i in urls: get(i)#这里采用循环去调用请求#这样速度好像比较慢,有什么方法可以#当多个请求时,也可以快速完成程序
谢谢了
问题解答
回答1:>>> from eventor import Eventor>>> urllist = ['https://a.com', ....]>>> def get(url):# 网络IO耗时return url>>> e = Eventor(threadcount=3, taskunitcount=3, func=get, interval=1)>>> result = e.run_with_tasklist(urllist)>>> print(result)
自己根据需求选择 多核多进程,还是多线程,协程加快处理。
详情移步:https://github.com/kute/eventor
后续再 加进 async await,celery worker等
回答2:几个方法,并且可以结合使用
coroutine
multiprocess
multithread
celery worker
回答3:最简单的改造就是用multiprocessing.dummy 执行多线程任务,可以查一下,设置好线程数量,然后对程序不需要太大改造,大体就能用。
相关文章:
1. angular.js - 关于指令link 中的创建变量问题2. node.js - webpack required打包问题3. javascript - h5微信中怎么禁止横屏4. $("div").html 是什么意思?5. javascript - 页面引入的所有的js文件,每个js文件都有window.onload偶尔会某个js文件没有执行6. docker镜像push报错7. java - 【算法】HashMap按照value排序8. javascript - 在vuejs中如何根据变量去引用不同的css样式呢9. java - HTML邮件有多出来的空白区域,如何处理?10. audio标签是不是块级元素
排行榜

网公网安备