這中方式用的比較多,畢竟要控制併發數量,不可能不限制併發數
1#_*_coding:utf-8_*_
2from multiprocessing import
pool
3import
time45
deff(x):6#
製造乙個程序超時的效果
7if x == 4:
8 time.sleep(4)
9else
:10 time.sleep(1)
11return x*x
1213
1415
if__name__ == '
__main__':
16 pool = pool(processes=4)
17 res_list =18#
19for i in range(5):20#
非同步方式
22print
'----:',i
2324
#迴圈獲取結果
25for i in
res_list:
26try:27
#列印結果,如果獲取結果超過2秒鐘將報異常
28print i.get(timeout=2)
29except
exception:
30print
"程序:%s 獲取結果超時
"% i
顯示結果:
這個例子主要是告訴大家如何使用pool,例子中可以使用print pool.map(f,range(5))就搞定。不用寫那麼多行
每個人的寫法都不一樣 所以就看大家的了
Python多程序 程序池pool
from multiprocessing import process,pool import time defselect time.sleep 1 print time.ctime return 這是每個進行執行完後返回的值,該值會會被 callback函式接收 def foo args pri...
Python多程序4 程序池 Pool
學習 分類目錄 多程序 是multiprocessing模組下的乙個類,是一種建立多程序的更加簡便的方式,可以更加方便的分配任務與傳遞引數。pool mp.pool processes 6 生成程序池 pool的兩個任務分配的函式 map 函式名,引數列表的列表 所謂的引數列表的列表是把所有的任務的...
建立多程序
encoding utf 8 import sys reload sys sys.setdefaultencoding utf 8 import multiprocessing import time def worker 1 interval print worker 1 time.sleep i...