文章詳情頁
python 加快程序運行問題
問題描述
假設:
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. webpack - vuejs+java前后臺分離實現及部署問題2. mysql - 這條聯合sql語句哪里錯了3. 使用uuid,并不能利用mysql的索引,有什么解決辦法?4. 網站在移動的環境下手機,pc打不開5. php - TP5的登錄驗證問題6. mysql - 我的myeclipse一直連顯示數據庫連接失敗,不知道為什么7. javascript - 微信h5發送圖文信息,部分設備點擊“發送”按鈕時沒反應,問題較難重現,如何能找到可能存在問題的點?8. 在html文件的目錄下輸入代碼按回車后顯示這個,哪位大佬幫幫我 呀9. linux pdo 安裝配置中 make 遇到問題,請大家指教!10. mysql改密碼失敗了,舊密碼新密碼都不能登錄了...
排行榜
