Multiprocess裡的Pool原理的理解

2021-08-20 18:42:37 字數 1098 閱讀 6987

from multiprocessing import pool

import os, time, random

def long_time_task(name):#同時進行的函式

print("run task %s(%s)..." % (name, os.getpid()))

start = time.time()

time.sleep(random.random()*3)

end = time.time()

print("task %s runs %0.2f seconds." % (name, (end - start)))

if __name__ =="__main__":

print("parent process %s" % os.getpid())#獲取父程序的id

p = pool(4)#同時進行的程序數 可以設定 預設為cpu的核數

for i in range(5):

#等四個中的乙個子程序先結束,再進下乙個子程序task4

print("waiting for all subprocesses done...")

p.close()#呼叫close後不能新增新的程序

p.join()#子程序結束

print("all subprocesses done.")

結果:

parent process 10720

waiting for all subprocesses done...

run task 0(112)...

run task 1(11284)...

run task 2(3840)...

run task 3(8624)...

task 1 runs 1.03 seconds.

run task 4(11284)...

task 0 runs 1.30 seconds.

task 3 runs 1.36 seconds.

task 4 runs 0.96 seconds.

task 2 runs 2.88 seconds.

all subprocesses done.

p 裡 和 的優先順序

號和 屬於同一優先順序,且方向都是從右向左的,p 和 p 作用相同。如下例子 char a asdasf char p a printf d n p 列印一位址值x p printf d n p 列印一位址值x 1 printf c n p 列印s printf s n a 列印asdasf 這裡的...

P1897 電梯裡的愛情

queue 型別 變數名 1 q.push 變數 將變數插入隊尾 2 q.pop 彈出隊首的元素 3 q.front 訪問隊首元素 4 q.back 訪問隊尾元素 5 q.empty 判斷佇列是否為空,是則返回true 6 q.size 返回隊中元素的個數 使用unique函式去重,大佬太強了 in...

P3裡的你的歌

燈光也暗了,低聲了,口中的棉花糖也融化了,我的心也開始想你了,那天你要回家,我是多麼的想送送你,可你,那天你要用p3,我是多麼的想借給你,可你,可你還是 接受 了,那天,我覺得自己是那麼的死皮賴臉,幾天後的那天,p3回來了,回來的p3裡存著你最喜歡的歌,又是 那天 那個情人節,那是乙個 真正 的情人...