python程序池簡單講解

2021-09-24 11:21:50 字數 1039 閱讀 5327

多程序是是實現多工的一種方法,程序池是實現多程序的一種方法,它可以定義一次可以執行多少個程序。對於知道需要同時執行多少個任務,而且同時執行任務較少(比如:同時執行5個任務),可以直接建立相應數量的程序。但對於所需要程序數量不確定,而且同時執行任務很多的情況下(比如:同時執行1000個任務),你不可能同時建立1000個程序,這樣你的電腦會卡死,所以需要程序池來管理程序。

下面使用python來實現乙個簡單的程序池:

from multiprocessing import pool

imoprt os, time, random

def work(number):

# 建立乙個方法,充當一次任務

start = time.time()

# os.getpid()為輸出程序號

print("%d個程序開始執行,程序號為:%d" % (number, os.getpid()))

time.sleep(random.ramdom())

end = time.time()

print("%d個程序結束,執行時間為:%0.2f" % (number, end - start))

def main():

# 建立乙個程序池,最大程序數量為3

po = pool(3)

for temp in range(0, 10)

po.close() # 關閉程序池不再接受新的任務

po.join() # 阻塞主線程,等待子執行緒執行完畢,如果沒有該方法,當主線程比子執行緒先執行完畢,那麼主線程就會關閉,子執行緒即使沒有執行完,也會關閉。

if __name__ == "__main__":

main()

以上就是簡單的執行緒池的python**實現:

執行結果:

從執行結果來看,同時執行的縣城只能有3個,只有當前乙個執行緒(任務)執行完畢後,才能夠執行其他執行緒(任務)。

python 簡單的程序池

當需要建立的子程序數量不多時,可以直接利用multiprocessing中的process動態成生多個程序,但如果是上百甚至上千個目標,手動的去建立程序的工作量巨大,此時就可以用到multiprocessing模組提供的pool方法。import multiprocessing import os ...

python 程序池pool簡單使用

平常會經常用到多程序,可以用程序池pool來進行自動控制程序,下面介紹一下pool的簡單使用。需要主動是,在windows上要想使用程序模組,就必須把有關程序的 寫if name main 語句的下面,才能正常使用windows下的程序模組。unix linux下則不需要。pool類 pool類可以...

python 程序鎖和程序池簡單使用

程序鎖 from multiprocessing import process,lock 程序鎖def f l,i l.acquire print hello world i l.release if name main lock lock for num in range 10 process t...