python 加快程序運行問題
問題描述
假設:
def get(url): #這里是get請求 return urlfor i in urls: get(i)#這里采用循環(huán)去調(diào)用請求#這樣速度好像比較慢,有什么方法可以#當多個請求時,也可以快速完成程序
謝謝了
問題解答
回答1:>>> from eventor import Eventor>>> urllist = ['https://a.com', ....]>>> def get(url):# 網(wǎng)絡IO耗時return url>>> e = Eventor(threadcount=3, taskunitcount=3, func=get, interval=1)>>> result = e.run_with_tasklist(urllist)>>> print(result)
自己根據(jù)需求選擇 多核多進程,還是多線程,協(xié)程加快處理。
詳情移步:https://github.com/kute/eventor
后續(xù)再 加進 async await,celery worker等
回答2:幾個方法,并且可以結(jié)合使用
coroutine
multiprocess
multithread
celery worker
回答3:最簡單的改造就是用multiprocessing.dummy 執(zhí)行多線程任務,可以查一下,設置好線程數(shù)量,然后對程序不需要太大改造,大體就能用。
相關(guān)文章:
1. docker不顯示端口映射呢?2. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?3. android - viewpager問題PagerTabStrip樣式4. docker鏡像push報錯5. javascript - CSS圖片輪播顯示問題6. javascript - vue-router怎么不能實現(xiàn)跳轉(zhuǎn)呢7. python 字符串匹配問題8. angular.js - angular內(nèi)容過長展開收起效果9. javascript - 這里的這個函數(shù)是干嘛用的?10. dockerfile - 我用docker build的時候出現(xiàn)下邊問題 麻煩幫我看一下
