python的多進程性能要明顯優(yōu)于多線程,因為cpython的GIL對性能做了約束。
成都創(chuàng)新互聯(lián)公司是一家網(wǎng)站設計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設服務商,主營產(chǎn)品:響應式網(wǎng)站開發(fā)、成都品牌網(wǎng)站建設、成都營銷網(wǎng)站建設。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡互動的體驗,以及在手機等移動端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站建設、成都做網(wǎng)站、移動互聯(lián)產(chǎn)品、網(wǎng)絡運營、VI設計、云產(chǎn)品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。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è)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。