# -*- coding: utf-8 -*-
import time,random
from multiprocessing import pool
defworker
(msg)
: t_start = time.time(
)print
("---%s開始執行---"
% msg)
# random.random()隨機生成0-1之間的浮點數
time.sleep(random.random())
t_stop = time.time(
)print
(msg,
"執行完畢,耗時 %0.2f"
%(t_stop-t_start)
)# 建立乙個程序池,最大程序數是 3
po = pool(3)
for i in
range(0
,10):
# 每次迴圈將會用空閒的子程序去呼叫目標
(i,)
)print
("----start----"
)po.close(
)# 關閉程序池,關閉後po不在接收新的請求
po.join(
)# 主程序 等待所有的 po子程序 執行完畢,必須放在close()之後
print
('----end----'
)
python多程序之程序池
在利用python進行系統管理的時候,特別是同時操作多個檔案目錄,或者遠端控制多台主機,並行操作可以節約大量的時間。當被操作物件數目不大時,可以直接利用multiprocessing中的process動態成生多個程序,十幾個還好,但如果是上百個,上千個目標,手動的去限制程序數量卻又太過繁瑣,此時可以...
python 多程序 高階 程序池
如果需要啟動大量的子程序,使用程序池批量建立子程序的方式更加常見,因為當被操作對物件數目不大時,可以直接利用multiprocessing中的process動態生成多個程序,如果數量大,此時就應該使用pool。pool 可以提供指定數量的程序供使用者呼叫,預設大小是cpu的核數。當有新的請求提交到p...
Python多程序 程序池pool
from multiprocessing import process,pool import time defselect time.sleep 1 print time.ctime return 這是每個進行執行完後返回的值,該值會會被 callback函式接收 def foo args pri...