溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣比較python爬蟲中的協程與多線程

發布時間:2020-11-11 09:36:37 來源:億速云 閱讀:229 作者:小新 欄目:編程語言

小編給大家分享一下怎樣比較python爬蟲中的協程與多線程,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

進程、線程、協程對比

請仔細理解如下的通俗描述

有一個老板想要開個工廠進行生產某件商品(例如剪子)

他需要花一些財力物力制作一條生產線,這個生產線上有很多的器件以及材料這些所有的 為了能夠生產剪子而準備的資源稱之為:進程

只有生產線是不能夠進行生產的,所以老板的找個工人來進行生產,這個工人能夠利用這些材料最終一步步的將剪子做出來,這個來做事情的工人稱之為:線程

這個老板為了提高生產率,想到3種辦法:

1、在這條生產線上多招些工人,一起來做剪子,這樣效率是成倍増長,即單進程 多線程方式

2、老板發現這條生產線上的工人不是越多越好,因為一條生產線的資源以及材料畢竟有限,所以老板又花了些財力物力購置了另外一條生產線,然后再招些工人這樣效率又再一步提高了,即多進程 多線程方式

3、老板發現,現在已經有了很多條生產線,并且每條生產線上已經有很多工人了(即程序是多進程的,每個進程中又有多個線程),為了再次提高效率,老板想了個損招,規定:如果某個員工在上班時臨時沒事或者再等待某些條件(比如等待另一個工人生產完謀道工序 之后他才能再次工作) ,那么這個員工就利用這個時間去做其它的事情,那么也就是說:如果一個線程等待某些條件,可以充分利用這個時間去做其它事情,其實這就是:協程方式

簡單總結

進程是資源分配的單位

線程是操作系統調度的單位

進程切換需要的資源很最大,效率很低

線程切換需要的資源一般,效率一般(當然了在不考慮GIL的情況下)

協程切換任務資源很小,效率高

多進程、多線程根據cpu核數不一樣可能是并行的,但是協程是在一個線程中 所以是并發

以上是怎樣比較python爬蟲中的協程與多線程的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節
推薦閱讀:
  1. lua 協程
  2. GO協程

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女