真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python3爬蟲使用多線程運(yùn)算是不是會比較快-創(chuàng)新互聯(lián)

這篇文章主要介紹了python3爬蟲使用多線程運(yùn)算是不是會比較快,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

10余年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對電動窗簾等多個(gè)行業(yè),擁有多年的網(wǎng)站營銷經(jīng)驗(yàn)。

多線程存在GIL(global interpret lock)。為了實(shí)現(xiàn)多線程功能,程序把線程鎖住,然后鎖住了之后,只有一個(gè)線程運(yùn)算。Python只能夠讓線程在同一時(shí)間運(yùn)算一個(gè)東西。在不停切換,看起來是多線程的。但實(shí)際上不是。

import threading
from queue import Queue
import copy
import time
 
def job(lists, q):
    res = sum(lists)
    q.put(res)
    
def multi_theading(lists):
    q = Queue()
    threads = []
    for i in range(4):
        t = threading.Thread(target=job, args=(copy.copy(lists), q),
                             name = 'T%i'%i)
        t.start()
        threads.append(t)
    [t.join() for i in threads]
    total = 0
    for _ in range(4):
        total += q.get()
    print(total)
 
def normal(lists):
    # 完全不用多線程
    total = sum(lists)
    print(total)
 
if __name__ == '__main__':
    lists = list(range(1000000))
    s_t = time.time()
    normal(lists*4)
    print('Normal : ', time.time() - s_t)
    s_t = time.time()
    multi_theading(lists)
print('multi_threading : ', time.time() - s_t)


運(yùn)行結(jié)果

1999998000000
Normal :  0.1705458164215088
1999998000000
multi_threading :  0.14860320091247559

不用多線程是 0.1705秒;用了多線程僅僅是稍微快了一點(diǎn)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python3爬蟲使用多線程運(yùn)算是不是會比較快內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細(xì)的解決方法等著你來學(xué)習(xí)!


網(wǎng)頁題目:python3爬蟲使用多線程運(yùn)算是不是會比較快-創(chuàng)新互聯(lián)
URL分享:http://weahome.cn/article/dgjsed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部