欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

【Python】線程和協程分別適用于什么情況?

系統 1669 0
原文鏈接: https://zhuanlan.zhihu.com/p/35179605

(現在人工智能非常火爆,很多朋友都想學,但是一般的教程都是為博碩生準備的,太難看懂了。最近發現了一個非常適合小白入門的教程,不僅通俗易懂而且還很風趣幽默。所以忍不住分享一下給大家。

? 點這里https://www.cbedai.net/ialexanderi可以跳轉到教程。)

?

鏈接:https://zhuanlan.zhihu.com/p/35179605

前言

關于網絡IO,同步,異步或者阻塞非阻塞永遠是繞不開的話題。對于爬蟲這種IO密集型任務,如果使用同步的方式進行網絡請求,只要某個請求被阻塞了,則會造成整個流程時間的拖長,極大的降低了爬蟲的速度。這篇文章將介紹Python實現異步的其中一種方式,協程。并通過一些實例來說明協程的用法,以及好處。

基本知識

?

  • 同步,異步

上文提到了同步與異步兩個術語,那么這兩者到底有什么區別呢?拿爬蟲場景舉個例子,比如說現在爬蟲需要點開十個鏈接,IO過程就是打開這十個鏈接的過程,CPU負責點擊鏈接的事件。顯而易見,點擊事件是非常快速的,而鏈接顯示的過程是比較緩慢的。同步IO就是爬蟲點擊了一個網址,等到獲得了徹底響應,才去點擊下一個網址。而異步IO就是爬蟲點擊了一個網址,不等獲得響應,立刻點擊下一個網址,最后等待響應。兩者對比,異步的效率會更加高一些。

  • IO密集與計算密集

IO密集型任務指的是磁盤IO或者網絡IO占主要的任務,計算量很小,比如請求網頁,讀寫文件等。計算密集型任務指的是CPU計算占主要的任務,比如圖形渲染中矩陣的運算(當然現在都用GPU來完成)。

  • 為什么不使用多線程

一般來說,解決并行事件的傳統思路可能是使用多線程。 但是多線程有幾個劣勢,第一是資源的開銷,第二是由于Python GIL(全局解釋鎖)的存在,多線程并非并行執行,而是交替執行,造成多線程在計算密集型任務的效率并不高。

  • 協程是什么

協程的概念比較容易理解,它在單線程中,允許一個執行過程A中斷,然后轉到執行過程B,在合適的時間又可以轉回來,從而在單線程中實現了類似多線程的效果。而它有以下幾點優勢:

?

    • 數量理論上可以是無限個,因為是在單線程上進行,沒有線程間的切換操作,效率比較高。
    • 不需要“鎖”的機制,所有的協程都在一個線程中。
    • 比較容易Debug,因為代碼是順序執行。

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩中文字幕在线有码视频网 | 天天精品在线 | 自偷自拍三级全三级视频 | 激情综合婷婷久久 | 黄色国产精品 | 欧美日韩高清不卡免费观看 | 最全精品自拍视频在线 | 国产精品久久久久久搜索 | 男人天堂中文字幕 | 孕妇体内谢精满日本电影 | 日本久久精品 | 欧美成年黄网站色视频 | 国产最新网站 | 在线免费观看网址 | 久久久精品中文字幕 | 午夜精品亚洲 | 亚洲奇米 | 99热在线播放 | 亚洲国产日韩在线观看 | 成人午夜网址 | 毛片少妇爽到高潮特黄A片 六月色播 | 国产一区二区三区久久 | 亚洲欧美日本人成在线观看 | av免费在线免费观看 | 美国成人a免费毛片 | 国产精品久久久久久久免费大片 | 国产一卡二卡三卡 | 在线国产欧美 | 可以免费看的黄色片 | 日韩欧美大片在线观看 | a久久久久一级毛片护士免费 | 黄色草逼视频 | 毛片成人永久免费视频 | 一级片国语 | 一级做a爰片性色毛片男小说 | 亚洲精品一区二区深夜福利 | 欧美日韩一区二区在线视频 | 色噜噜狠狠先锋影音久久 | 亚洲午夜无码毛片AV久久 | 天天影视欧美 | 天天操网 |