python学习心得(2)多进程顺序执行

本文介绍了在Python中实现多进程顺序执行的技巧,重点讨论了进程独立性以及如何通过Condition对象和共享变量解决进程间同步问题。作者通过实例解释了如何创建5个进程,按顺序输出数字1到5,以此阐述了多进程同步的解决方案。
摘要由CSDN通过智能技术生成

参照我的上一篇多线程的顺序执行https://blog.csdn.net/weixin_41950973/article/details/106213436

今天,同一个问题用进程来解决。

注意点1:进程之间是完全独立的,所以在用condition对象时,需要将condition对象作为参数传递到进程类中,其他都和我上一篇的多线程的解决方法一致。(开始没有注意到这一点,完全照搬多线程的做法,总是得不到想要的结果,郁闷了半天。。。)

注意点2:因为进程之间的global全局变量是各自独立的,所以作为判断条件里的nowprocessid对象,使用进程间的共享对象来解决。       nowprocessid = multiprocessing.Value('i', 1)

问:生成5个进程按照顺序来输出1234512345... 。其中1为进程1输出,2为进程2输出以此类推。

思路:使用Condition 

解答:

import multiprocessing
import time


cond = multiprocessing.Condition()


def domywork(processid):
    print(processid, end='')


class myprocess(multiprocessing.Process):
    def __init__(self, nowprocessid, processid, jobcnt, processcnt, cond):
        multiprocessing.Proc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值