最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
python3爬蟲(chóng)中多線程有什么優(yōu)勢(shì)

這篇文章主要介紹python3爬蟲(chóng)中多線程有什么優(yōu)勢(shì),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開(kāi)發(fā)建設(shè)經(jīng)驗(yàn),上千家客戶(hù)的共同信賴(lài)。提供網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站開(kāi)發(fā)、網(wǎng)站定制、買(mǎi)鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢(xún)和貼心的售后服務(wù)

總結(jié)起來(lái),使用多線程編程具有如下幾個(gè)優(yōu)點(diǎn):

  • 進(jìn)程之間不能共享內(nèi)存,但線程之間共享內(nèi)存非常容易。

  • 操作系統(tǒng)在創(chuàng)建進(jìn)程時(shí),需要為該進(jìn)程重新分配系統(tǒng)資源,但創(chuàng)建線程的代價(jià)則小得多。因此,使用多線程來(lái)實(shí)現(xiàn)多任務(wù)并發(fā)執(zhí)行比使用多進(jìn)程的效率高。

  • Python 語(yǔ)言?xún)?nèi)置了多線程功能支持,而不是單純地作為底層操作系統(tǒng)的調(diào)度方式,從而簡(jiǎn)化了 Python 的多線程編程。

 

threading模塊

普通創(chuàng)建方式

import threading
import time
 
def run(n):
    print("task", n)
    time.sleep(1)
    print('2s')
    time.sleep(1)
    print('1s')
    time.sleep(1)
    print('0s')
    time.sleep(1)
 
if __name__ == '__main__':
    t1 = threading.Thread(target=run, args=("t1",))
    t2 = threading.Thread(target=run, args=("t2",))
    t1.start()
    t2.start()
 
----------------------------------
 
>>> task t1
>>> task t2
>>> 2s
>>> 2s
>>> 1s
>>> 1s
>>> 0s
>>> 0s

守護(hù)線程

我們看下面這個(gè)例子,這里使用setDaemon(True)把所有的子線程都變成了主線程的守護(hù)線程,因此當(dāng)主進(jìn)程結(jié)束后,子線程也會(huì)隨之結(jié)束。所以當(dāng)主線程結(jié)束后,整個(gè)程序就退出了。

import threading
import time
 
def run(n):
    print("task", n)
    time.sleep(1)       #此時(shí)子線程停1s
    print('3')
    time.sleep(1)
    print('2')
    time.sleep(1)
    print('1')
 
if __name__ == '__main__':
    t = threading.Thread(target=run, args=("t1",))
    t.setDaemon(True)   #把子進(jìn)程設(shè)置為守護(hù)線程,必須在start()之前設(shè)置
    t.start()
    print("end")
 
----------------------------------
 
>>> task t1
>>> end

我們可以發(fā)現(xiàn),設(shè)置守護(hù)線程之后,當(dāng)主線程結(jié)束時(shí),子線程也將立即結(jié)束,不再執(zhí)行。

從上面簡(jiǎn)單的兩個(gè)多線程使用案例上,我們已經(jīng)可以學(xué)到多線程一些應(yīng)用的地方了,不過(guò)小編還是喜歡用python爬蟲(chóng)多線程的優(yōu)勢(shì)來(lái)獲取更多的數(shù)據(jù),小伙伴們也可以開(kāi)拓其他的使用。

以上是“python3爬蟲(chóng)中多線程有什么優(yōu)勢(shì)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:python3爬蟲(chóng)中多線程有什么優(yōu)勢(shì)
分享網(wǎng)址:http://fisionsoft.com.cn/article/jsohpe.html