python 程序 Python程序池

2021-10-12 06:35:17 字數 675 閱讀 5019

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

初始化pool時,可以指定乙個最大程序數,當有新的請求提交到pool中時,如果池還沒有滿,那麼就會建立乙個新的程序用來執行該請求;但如果池中的程序數已經達到指定的最大值,那麼該請求就會等待,直到池中有程序結束,才會用之前的程序來執行新的任務,請看下面的例項:

close():關閉pool,使其不再接受新的任務;

terminate():不管任務是否完成,立即終止;

join():主程序阻塞,等待子程序的退出, 必須在close或terminate之後使用;

如果要使用pool建立程序,就需要使用multiprocessing.manager()中的queue(),而不是multiprocessing.queue(),否則會得到一條如下的錯誤資訊:runtimeerror: queue objects should only be shared between processes through inheritance.

下面的例項演示了程序池中的程序如何通訊:

python子程序 Python實戰之子程序

最近做乙個小工具需要用到python的字程序,看了一下python的api,subprocess模組可以就可以實現,並且還挺簡單 要實現乙個簡單的自程序,只需要 import sys,os,subprocess p subprocess.popen ls l shell false,stdin no...

python程序和執行緒 Python中的程序和執行緒

程序和執行緒 我們開啟我們的計算機就會看到程序和執行緒 那什麼是程序什麼是執行緒 我的理解是程序是指在系統中正在執行的乙個應用程式 程式一旦執行就是程序,或者更專業化來說 程序是指程式執行時的乙個例項。執行緒是程序的乙個實體。程序 資源分配的最小單位,執行緒 程式執行的最小單位。我舉個例子,比如開啟...

Python併發程式設計之程序(殭屍程序 孤兒程序)

前言 本博文是對python併發程式設計之程序的知識延伸,主要講解 殭屍程序 孤兒程序。python多程序中的multiprocessing python多程序中的fork python併發程式設計之程序 守護程序 鎖 訊號量 四 知識擴充套件 在前面的博文裡,我們介紹到 正常情況下,子程序是通過父...