from concurrent.futures import processpoolexecutor
import time,os,random
defpiao
(name,n)
:print
("%s is piaoing %s"
%(name,os.getpid())
)# 列印了埠號
time.sleep(random.randint(2,
3))return n*
2if __name__ ==
"__main__"
: p = processpoolexecutor(4)
# 指定程序池最大程序個數
objs =
for i in
range(10
):# 這屬於同步呼叫,要等到obj拿到結果後才會執行之後的**
# obj = p.submit(piao,"alex %s"%i,i).result()
# print(obj)
# 非同步呼叫
obj = p.submit(piao,
"alex %s"
%i,i)
# 這裡只提交程序,並不拿到他們的結果,並且把程序賦值給乙個變數
# 把程序追加進列表中
for obj in objs:
print
(obj.result())
# 從列表中拿到程序的返回值
# 這裡提交程序時並不會遇到阻塞,程序池中的四個程序是同時執行的,乙個程序執行完,就會有另乙個程序開始執行
# 在拿結果的時候可能有乙個沒有執行完但他後面的就執行完了,他不會跳過去取結果,會等待結果出來,這時後面的
# 結果是計算出來的所以不用等待就能拿到結果
p.shutdown(wait=
true
)print
("哈哈哈哈"
) ```
python多程序 python多程序
當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...
python 多程序Process模組使用
引數介紹 1 group引數未使用,值始終為none 2 target表示呼叫物件,即子程序要執行的任務 3 args表示呼叫物件的位置引數元組,args 1,2,egon 4 kwargs表示呼叫物件的字典,kwargs 5 name為子程序的名稱 p.start 啟動程序,並呼叫該子程序中的p....
python多程序 Python多程序實踐
建立程序方式如下 可以通過lock鎖機制實現共享鎖,但比較常用的方式還是以上這些方式,效率更高,更安全。使用方式 構造 類方法 使用方式 構造 更多型別支援一般使用manager,支援的型別包括list,dict,namespace,lock,rlock,semaphore,boundedsemap...