回到python,用一下python的程序池。
記得之前面試的時候,面試官問:你知道程序池的預設引數嗎? 我沒有回答上來,後來才知道,是有預設引數的。下面就看看它的預設引數
1. 不加引數
from multiprocessing.pool import poolfrom time import sleep
def fun(a):
sleep(5)
print(a)
if __name__ == '__main__':
p = pool() # 這裡不加引數,但是程序池的預設大小,等於電腦cpu的核數
# 也是建立子程序的個數,也是每次列印的數字的個數
for i in range(10):
p.close()
p.join() # 等待所有子程序結束,再往後執行
print("end")
2. 加引數5
from multiprocessing.pool import poolfrom time import sleep
def fun(a):
sleep(5)
print(a)
if __name__ == '__main__':
p = pool(5) # 最多執行5個程序,列印5個數
for i in range(10):
p.close()
p.join() # 等待所有子程序結束,再往後執行
print("end")
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...
python 簡單的程序池
當需要建立的子程序數量不多時,可以直接利用multiprocessing中的process動態成生多個程序,但如果是上百甚至上千個目標,手動的去建立程序的工作量巨大,此時就可以用到multiprocessing模組提供的pool方法。import multiprocessing import os ...