python 加快程序運(yùn)行問題
問題描述
假設(shè):
def get(url): #這里是get請(qǐng)求 return urlfor i in urls: get(i)#這里采用循環(huán)去調(diào)用請(qǐng)求#這樣速度好像比較慢,有什么方法可以#當(dāng)多個(gè)請(qǐng)求時(shí),也可以快速完成程序
謝謝了
問題解答
回答1:>>> from eventor import Eventor>>> urllist = ['https://a.com', ....]>>> def get(url):# 網(wǎng)絡(luò)IO耗時(shí)return url>>> e = Eventor(threadcount=3, taskunitcount=3, func=get, interval=1)>>> result = e.run_with_tasklist(urllist)>>> print(result)
自己根據(jù)需求選擇 多核多進(jìn)程,還是多線程,協(xié)程加快處理。
詳情移步:https://github.com/kute/eventor
后續(xù)再 加進(jìn) async await,celery worker等
回答2:幾個(gè)方法,并且可以結(jié)合使用
coroutine
multiprocess
multithread
celery worker
回答3:最簡(jiǎn)單的改造就是用multiprocessing.dummy 執(zhí)行多線程任務(wù),可以查一下,設(shè)置好線程數(shù)量,然后對(duì)程序不需要太大改造,大體就能用。
相關(guān)文章:
1. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.2. java - SSH框架中寫分頁時(shí)service層中不能注入分頁類3. javascript - vue生成一維碼?求助!!!!!急4. boot2docker無法啟動(dòng)5. docker-compose中volumes的問題6. nignx - docker內(nèi)nginx 80端口被占用7. 如何使用git對(duì)word文檔進(jìn)行版本控制?8. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?9. javascript - mock.js可以存儲(chǔ)數(shù)據(jù)嗎10. java - Spring事務(wù)回滾問題

網(wǎng)公網(wǎng)安備