1. 程式人生 > >Python 程序池的非同步方法

Python 程序池的非同步方法

import time
from multiprocessing import Process,Pool


def f1(n):
    time.sleep(0.5)
    # print(n)
    return n*n

if __name__ == '__main__':

    pool = Pool(4)

    res_list = []
    for i in range(10):
        print('xxxx')
        #非同步給程序池提交任務
        res = pool.apply_async(f1,args=(i,))
        res_list.append(res)

    
# print('等待所有任務執行完') # pool.close() #鎖住程序池,意思就是不讓其他的程式再往這個程序池裡面提交任務了 # pool.join() #列印結果,如果非同步提交之後的結果物件 for i in res_list: print(i.get()) # time.sleep(10)