python的多進程性能要明顯優(yōu)于多線程,因為cpython的GIL對性能做了約束。
Python是運行在解釋器中的語言,查找資料知道,python中有一個全局鎖(GIL),在使用多進程(Thread)的情況下,不能發(fā)揮多核的優(yōu)勢。而使用多進程(Multiprocess),則可以發(fā)揮多核的優(yōu)勢真正地提高效率。
對比實驗
資料顯示,如果多線程的進程是CPU密集型的,那多線程并不能有多少效率上的提升,相反還可能會因為線程的頻繁切換,導致效率下降,推薦使用多進程;如果是IO密集型,多線程進程可以利用IO阻塞等待時的空閑時間執(zhí)行其他線程,提升效率。所以我們根據(jù)實驗對比不同場景的效率
操作系統(tǒng) | CPU | 內(nèi)存 | 硬盤 |
---|---|---|---|
Windows 10 | 雙核 | 8GB | 機械硬盤 |
(1)引入所需要的模塊
import requests import time from threading import Thread from multiprocessing import Process
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。