Python多程序 併發 multiprocessing庫
阿新 • • 發佈:2018-11-27
庫:multipprocessing
例項:
#!/usr/bin/env python # -*- coding:utf-8 -*- import multiprocessing import time def action(sub_process_name): for i in range(3): time.sleep(3) print("{}:now print {}".format(sub_process_name, i)) if __name__ == "__main__": for i in range(3): sub_process_name = "sub_proc_{}".format(i) t = multiprocessing.Process(target=action, args=(sub_process_name,)) t.start() print("主程序不再等咯,子程序你慢慢跑吧。")
結果:
主程序不再等咯,子程序你慢慢跑吧。
sub_proc_0:now print 0
sub_proc_1:now print 0
sub_proc_2:now print 0
sub_proc_0:now print 1
sub_proc_1:now print 1
sub_proc_2:now print 1
sub_proc_0:now print 2
sub_proc_1:now print 2
sub_proc_2:now print 2
常見問題:
# 錯誤示範,應該傳入函式的指標,而不是呼叫函式 t = multiprocessing.Process(target=action(1)) # 正確 t = multiprocessing.Process(target=action, args=(1,))