库: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,))