from multiprocessing import pool
import time,random
def jincheng(i):
print('%s開始'%i)
time.sleep(random.random()) #加時間是為了體現多程序的併發效果
print('%s結束'%i)
if __name__ == '__main__':
p=pool(3) #設定程序池容量
for i in range(10): #有十個任務等待執行
p.close()
p.join() #必須加阻塞,因為在有程序池的多程序中,主程序不會等待子程序先結束
print('主程序結束了')
程序池是面對有許多程序需要,而不想建立眾多程序,設定乙個程序池裡面可以併發執行一定數量的任務,來輪番執行眾多任務。當程序池中有任務完成,位置有空缺時下乙個等待中的任務就會替補上去。就好比乙個營業大廳設定固定數量的服務視窗,每個視窗都有乙個人在接受服務後面有人在排隊等待,前面的辦完,後面的上去。不可能為每乙個客戶開闢個人視窗。這樣會節省資源。 python中的程序池
coding utf 8 import multiprocessing import time deffunc msg print msg msg time.sleep 3 print end if name main pool multiprocessing.pool processes 3 fo...
Python中的程序池
一喪 為了情人節和你出去,我有了好幾十萬自行車的使用權 我們先來說我們為什麼使用這個程序池。目的 可以節約大量的時間。既然這麼重要,那我們都應該使用什麼方法去呼叫方法呢?我們來看一下 pool是什麼?pool就是我們的程序池了,讓我們來看一下怎麼用這個方法 import multiprocessin...
python中的程序池
python中,程序池內部會維護乙個程序序列。當需要時,程式會去程序池中獲取乙個程序。如果程序池序列中沒有可供使用的程序,那麼程式就會等待,直到程序池中有可用程序為止。terminate 立刻關閉程序池 join 主程序等待所有子程序執行完畢,必須在close或terminete之後 close 等...