<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • python3爬蟲使用多線程運(yùn)算是不是會比較快

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

            創(chuàng)新互聯(lián)公司是一家專業(yè)提供東乃企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都做網(wǎng)站html5、小程序制作等業(yè)務(wù)。10年已為東乃眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

            多線程存在GIL(global interpret lock)。為了實(shí)現(xiàn)多線程功能,程序把線程鎖住,然后鎖住了之后,只有唯一一個線程運(yùn)算。Python只能夠讓線程在同一時間運(yùn)算一個東西。在不停切換,看起來是多線程的。但實(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)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!

            名稱欄目:python3爬蟲使用多線程運(yùn)算是不是會比較快
            本文路徑:http://www.jbt999.com/article20/pdgjjo.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站微信小程序、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、響應(yīng)式網(wǎng)站、手機(jī)網(wǎng)站建設(shè)

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            微信小程序開發(fā)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 琪琪五月色| 91视频最新网址 | 好操逼在线视频 | 大香蕉在线综合 | 2019中文字幕mv第三季歌词 |