最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python多線程多進(jìn)程實(shí)例對(duì)比解析

 更新時(shí)間:2020年03月12日 12:43:18   作者:我太難了008  
這篇文章主要介紹了Python多線程多進(jìn)程實(shí)例對(duì)比解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

多線程適合于多io操作

多進(jìn)程適合于耗cpu(計(jì)算)的操作

# 多進(jìn)程編程
# 耗cpu的操作,用多進(jìn)程編程, 對(duì)于io操作來(lái)說(shuō),使用多線程編程
import time
from concurrent.futures import ThreadPoolExecutor, as_completed
from concurrent.futures import ProcessPoolExecutor


def fib(n):
  if n <= 2:
    return 1
  return fib(n - 2) + fib(n - 1)

if __name__ == '__main__':

  # 1. 對(duì)于耗cpu操作,多進(jìn)程優(yōu)于多線程

  # with ThreadPoolExecutor(3) as executor:
  #   all_task = [executor.submit(fib, num) for num in range(25, 35)]
  #   start_time = time.time()
  #   for future in as_completed(all_task):
  #     data = future.result()
  #     print(data)
  #   print("last time :{}".format(time.time() - start_time)) # 3.905290126800537

  # 多進(jìn)程 ,在window環(huán)境 下必須放在main方法中執(zhí)行,否則拋異常
  with ProcessPoolExecutor(3) as executor:
    all_task = [executor.submit(fib, num) for num in range(25, 35)]
    start_time = time.time()
    for future in as_completed(all_task):
      data = future.result()
      print(data)
    print("last time :{}".format(time.time() - start_time)) # 2.6130592823028564

可以看到在耗cpu的應(yīng)用中,多進(jìn)程明顯優(yōu)于多線程 2.6130592823028564 < 3.905290126800537

下面模擬一個(gè)io操作

# 多進(jìn)程編程
# 耗cpu的操作,用多進(jìn)程編程, 對(duì)于io操作來(lái)說(shuō),使用多線程編程
import time
from concurrent.futures import ThreadPoolExecutor, as_completed
from concurrent.futures import ProcessPoolExecutor

def io_operation(n):
  time.sleep(2)
  return n


if __name__ == '__main__':

  # 1. 對(duì)于耗cpu操作,多進(jìn)程優(yōu)于多線程

  # with ThreadPoolExecutor(3) as executor:
  #   all_task = [executor.submit(io_operation, num) for num in range(25, 35)]
  #   start_time = time.time()
  #   for future in as_completed(all_task):
  #     data = future.result()
  #     print(data)
  #   print("last time :{}".format(time.time() - start_time)) # 8.00358772277832



  # 多進(jìn)程 ,在window環(huán)境 下必須放在main方法中執(zhí)行,否則拋異常
  with ProcessPoolExecutor(3) as executor:
    all_task = [executor.submit(io_operation, num) for num in range(25, 35)]
    start_time = time.time()
    for future in as_completed(all_task):
      data = future.result()
      print(data)
    print("last time :{}".format(time.time() - start_time)) # 8.12435245513916

可以看到 8.00358772277832 < 8.12435245513916, 即是多線程比多進(jìn)程更牛逼!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python第三方庫(kù)easydict的使用實(shí)例詳解

    python第三方庫(kù)easydict的使用實(shí)例詳解

    在?Python?中當(dāng)我們需要訪問(wèn)字典中的元素的時(shí)候,我們需要使用類似?a['example']?的形式來(lái)進(jìn)行使用,這個(gè)時(shí)候就可以使用 easydict 這個(gè)模塊了,今天通過(guò)本文給大家講解python第三方庫(kù)easydict的使用,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • PyAutoGUI圖形用戶界面自動(dòng)化的超詳細(xì)教程

    PyAutoGUI圖形用戶界面自動(dòng)化的超詳細(xì)教程

    PyautoGUI是一個(gè)純Python的自動(dòng)化工具,能實(shí)現(xiàn)用程序自動(dòng)控制鼠標(biāo)和鍵盤操作,下面這篇文章主要給大家介紹了關(guān)于PyAutoGUI圖形用戶界面自動(dòng)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • django使用haystack調(diào)用Elasticsearch實(shí)現(xiàn)索引搜索

    django使用haystack調(diào)用Elasticsearch實(shí)現(xiàn)索引搜索

    這篇文章主要介紹了django使用haystack調(diào)用Elasticsearch實(shí)現(xiàn)索引搜索,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python安裝Scrapy圖文教程

    python安裝Scrapy圖文教程

    下面小編就為大家?guī)?lái)一篇python安裝Scrapy圖文教程。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • python opencv minAreaRect 生成最小外接矩形的方法

    python opencv minAreaRect 生成最小外接矩形的方法

    這篇文章主要介紹了python opencv minAreaRect 生成最小外接矩形的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • pyqt5 使用label控件實(shí)時(shí)顯示時(shí)間的實(shí)例

    pyqt5 使用label控件實(shí)時(shí)顯示時(shí)間的實(shí)例

    今天小編就為大家分享一篇pyqt5 使用label控件實(shí)時(shí)顯示時(shí)間的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例

    python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例

    這篇文章主要介紹了python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python使用type動(dòng)態(tài)創(chuàng)建類操作示例

    Python使用type動(dòng)態(tài)創(chuàng)建類操作示例

    這篇文章主要介紹了Python使用type動(dòng)態(tài)創(chuàng)建類操作,結(jié)合實(shí)例形式詳細(xì)分析了Python使用type動(dòng)態(tài)創(chuàng)建類的具體原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • python 實(shí)現(xiàn)客戶端與服務(wù)端的通信

    python 實(shí)現(xiàn)客戶端與服務(wù)端的通信

    這篇文章主要介紹了python 實(shí)現(xiàn)客戶端與服務(wù)端的通信的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python中類的輸出或類的實(shí)例輸出為<__main__類名 object at xxxx>這種形式的原因

    python中類的輸出或類的實(shí)例輸出為<__main__類名 object at xxxx>這種形式的原因

    在本篇文章里小編給大家分享了關(guān)于python中類的輸出或類的實(shí)例輸出為何是<__main__類名 object at xxxx>這種形式,需要的朋友們可以參考下。
    2019-08-08

最新評(píng)論

洛南县| 多伦县| 仙居县| 江津市| 延边| 磴口县| 五大连池市| 德保县| 砚山县| 株洲县| 平邑县| 大丰市| 宝应县| 抚顺县| 临夏市| 临湘市| 昆山市| 保德县| 会宁县| 桃江县| 本溪市| 屏山县| 临汾市| 威远县| 平遥县| 遵义县| 陵川县| 玉林市| 抚宁县| 诏安县| 庆城县| 西乌珠穆沁旗| 曲周县| 万年县| 家居| 中牟县| 龙里县| 绥芬河市| 乡宁县| 临颍县| 宝兴县|