python 多程序模組concurrent

2021-09-11 06:17:08 字數 989 閱讀 8468

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...