Python多进程 并发 multiprocessing库

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

猜你喜欢

转载自blog.csdn.net/yyt_1995/article/details/83411103