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

Python多進(jìn)程并發(fā)(multiprocessing)用法實(shí)例詳解

 更新時(shí)間:2015年06月02日 16:35:34   作者:songguo  
這篇文章主要介紹了Python多進(jìn)程并發(fā)(multiprocessing)用法,實(shí)例分析了multiprocessing模塊進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Python多進(jìn)程并發(fā)(multiprocessing)用法。分享給大家供大家參考。具體分析如下:

由于Python設(shè)計(jì)的限制(我說的是咱們常用的CPython)。最多只能用滿1個(gè)CPU核心。
Python提供了非常好用的多進(jìn)程包multiprocessing,你只需要定義一個(gè)函數(shù),Python會(huì)替你完成其他所有事情。借助這個(gè)包,可以輕松完成從單進(jìn)程到并發(fā)執(zhí)行的轉(zhuǎn)換。

1、新建單一進(jìn)程

如果我們新建少量進(jìn)程,可以如下:

import multiprocessing
import time
def func(msg):
  for i in xrange(3):
    print msg
    time.sleep(1)
if __name__ == "__main__":
  p = multiprocessing.Process(target=func, args=("hello", ))
  p.start()
  p.join()
  print "Sub-process done."

2、使用進(jìn)程池

是的,你沒有看錯(cuò),不是線程池。它可以讓你跑滿多核CPU,而且使用方法非常簡單。

注意要用apply_async,如果落下async,就變成阻塞版本了。

processes=4是最多并發(fā)進(jìn)程數(shù)量。

import multiprocessing
import time
def func(msg):
  for i in xrange(3):
    print msg
    time.sleep(1)
if __name__ == "__main__":
  pool = multiprocessing.Pool(processes=4)
  for i in xrange(10):
    msg = "hello %d" %(i)
    pool.apply_async(func, (msg, ))
  pool.close()
  pool.join()
  print "Sub-process(es) done."

3、使用Pool,并需要關(guān)注結(jié)果

更多的時(shí)候,我們不僅需要多進(jìn)程執(zhí)行,還需要關(guān)注每個(gè)進(jìn)程的執(zhí)行結(jié)果,如下:

import multiprocessing
import time
def func(msg):
  for i in xrange(3):
    print msg
    time.sleep(1)
  return "done " + msg
if __name__ == "__main__":
  pool = multiprocessing.Pool(processes=4)
  result = []
  for i in xrange(10):
    msg = "hello %d" %(i)
    result.append(pool.apply_async(func, (msg, )))
  pool.close()
  pool.join()
  for res in result:
    print res.get()
  print "Sub-process(es) done."

希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python?OpenCV實(shí)現(xiàn)圖像傅里葉變換

    Python?OpenCV實(shí)現(xiàn)圖像傅里葉變換

    傅里葉變換,也稱作傅立葉變換,表示能將滿足一定條件的某個(gè)函數(shù)表示成三角函數(shù)(正弦和/或余弦函數(shù))或者它們的積分的線性組合。本文將介紹如何通過OpenCV實(shí)現(xiàn)圖像的傅里葉變換,需要的可以參考一下
    2022-01-01
  • Python?reflect單例模式反射各個(gè)函數(shù)

    Python?reflect單例模式反射各個(gè)函數(shù)

    這篇文章主要介紹了Python?reflect單例模式反射各個(gè)函數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值需要的小伙伴可以參考一下
    2022-06-06
  • 單利模式及python實(shí)現(xiàn)方式詳解

    單利模式及python實(shí)現(xiàn)方式詳解

    單例模式(Singleton Pattern)是一種常用的軟件設(shè)計(jì)模式,該模式的主要目的是確保 某一個(gè)類只有一個(gè)實(shí)例存在.這篇文章主要介紹了單利模式及python實(shí)現(xiàn)方式及Python單例模式的4種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2018-03-03
  • 初學(xué)Python函數(shù)的筆記整理

    初學(xué)Python函數(shù)的筆記整理

    這篇文章主要介紹了初學(xué)Python函數(shù)的整理筆記,包括一些基礎(chǔ)的參數(shù)使用方法以及匿名函數(shù)等特性的使用,需要的朋友可以參考下
    2015-04-04
  • selenium環(huán)境搭建及基本元素定位方式詳解

    selenium環(huán)境搭建及基本元素定位方式詳解

    selenium最初是一個(gè)自動(dòng)化測試工具,而爬蟲中使用它主要是為了解決requests無法執(zhí)行javaScript代碼的問題,這篇文章主要介紹了selenium環(huán)境搭建及基本元素定位方式,需要的朋友可以參考下
    2023-04-04
  • python with語句的原理與用法詳解

    python with語句的原理與用法詳解

    這篇文章主要介紹了python with語句的原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了python with語句基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • python發(fā)送郵件的實(shí)例代碼(支持html、圖片、附件)

    python發(fā)送郵件的實(shí)例代碼(支持html、圖片、附件)

    python發(fā)送郵件的一些例子,有需要的朋友可以參考下
    2013-03-03
  • python幾種常用功能實(shí)現(xiàn)代碼實(shí)例

    python幾種常用功能實(shí)現(xiàn)代碼實(shí)例

    這篇文章主要介紹了python幾種常用功能實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python中的默認(rèn)編碼使用

    python中的默認(rèn)編碼使用

    這篇文章主要介紹了python中的默認(rèn)編碼使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python中類型關(guān)系和繼承關(guān)系實(shí)例詳解

    Python中類型關(guān)系和繼承關(guān)系實(shí)例詳解

    這篇文章主要介紹了Python中類型關(guān)系和繼承關(guān)系,較為詳細(xì)的分析了Python中類型關(guān)系和繼承關(guān)系的原理與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05

最新評論

达孜县| 乐亭县| 衡东县| 延寿县| 靖远县| 探索| 乐业县| 平安县| 武宣县| 宿州市| 梁河县| 穆棱市| 桂平市| 洛隆县| 辽源市| 河曲县| 达拉特旗| 景洪市| 金湖县| 永济市| 黎城县| 景谷| 阳原县| 柳河县| 临漳县| 海晏县| 潢川县| 新郑市| 洛阳市| 太谷县| 遵义市| 昭通市| 邵阳市| 高尔夫| 上林县| 海南省| 霍林郭勒市| 中西区| 临武县| 临城县| 涟源市|