一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python多進程并發(multiprocessing)用法實例詳解

Python多進程并發(multiprocessing)用法實例詳解

2020-07-11 10:03songguo Python

這篇文章主要介紹了Python多進程并發(multiprocessing)用法,實例分析了multiprocessing模塊進程操作的相關技巧,需要的朋友可以參考下

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

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

1、新建單一進程

如果我們新建少量進程,可以如下:

?
1
2
3
4
5
6
7
8
9
10
11
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、使用進程池

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

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

processes=4是最多并發進程數量。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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,并需要關注結果

更多的時候,我們不僅需要多進程執行,還需要關注每個進程的執行結果,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九精品视频在线观看九九 | 国产免费精彩视频 | 美女被上漫画 | 97色吧| 狠狠综合网| 日本综合在线观看 | 国产动作大片 | 日本在线视频播放 | 明星裸乳照无奶罩 | 欧美milk大超乳 | 亚洲精品第五页中文字幕 | 狠狠干在线观看 | 国产综合色在线视频区色吧图片 | 国内精品久久久久香蕉 | 国产成人综合一区人人 | 美女胸又大又黄又www小说 | japanese日本护士 | 被教官揉了一晚上的奶小说 | 美女扒开胸罩露出奶了无遮挡免费 | 好猛好紧好硬使劲好大刺激视频 | 青青国产成人久久激情911 | 四虎永久网址影院 | 亚洲大片免费看 | 亚洲a在线视频 | 免费一级片在线观看 | 11 13加污女qq看他下面 | 床戏小说 | 免费xxxxx大片在线观看影视 | 午夜精品久久久久久久99蜜桃 | 九九九九九九 | 4hu四虎永久网址 | 好大好湿好硬好爽好深免费视频 | 免费网站看v片在线香蕉 | 爸爸的宝贝小说全文在线阅读 | 91青青视频 | 国产亚洲高清国产拍精品 | 高清麻生希在线 | 欧美一区二区三区免费不卡 | 色狠狠色狠狠综合天天 | 500福利第一巨人导航 | 久久精品黄AA片一区二区三区 |