''' 多進程 --- 進程池 異步, 同步 阻塞的,一個一個的執行 非阻塞 ''' import multiprocessing import time def fun(msg): print("#########start###{0}".format(msg)) time.sleep(3) print("#########end###{0}".format(msg)) if __name__ == '__main__': print("Start main") pool = multiprocessing.Pool(processe=3) for i in range(1,7): msg = "hello{0}".format(i) #apply_async 非阻塞,定義的進程池最大數的同時執行 pool.apply_async(fun,(msg,)) # 多個同時執行,等待最長的那個時間 #apply pool.apply(fun,(msg,)) #一個一個的執行,等待每個時間之和 pool.close() # close以後不會有新的進程加入 #在調用join以前先close,不然會報錯 pool.join() #等待全部子進程結束 print("end main")