Python多进程;设置守护主进程

一,进程得概念:

进程是资源分配的最小单位,它是操作系统进行资源分配和调度运行的基本单位,通俗理解:一个正在运行的程序就是一个进程,例如:正在运行的qq,微信等都是一个进程

进程得创建步骤

进程的创建步骤
1.导入进程包
    import multiprocessing
2.通过进程类创建进程对象
    进程对象 = multiprocessing.Process()
3.启动进程执行任务
    进程对象.start

二,详细案例讲解

(1),主进程会等待所有得子进程执行结束在结束

import multiprocessing
import time
import os
#  游泳函数
def swimm(num,name):
    print("游泳进程的pid",os.getpid())
    print("游泳进程的父进程pid:",os.getppid())
    for  i in range(num):
        print(name)
        print("看旺财在游泳。。。")
        time.sleep(0.5)
# 下棋函数
def chess(num,name):
    print("获取下棋进程的pid",os.getpid())
    print("下棋进程的父进程pid:",os.getppid())
    for  i in range(num):
        print(name)
        print("村口两老头在下棋。。。")

if __name__=="__main__":
    print("主进程的pid:",os.getpid())
    # 2.通过进程类创建进程对象
    # target:指定进程执行的函数民航
    # args:使用元组方式给指定任务传参
    #    元组的元素顺序就是任务的参数顺序   
    # kwargs:使用字典的方式给指定任务传参
    #       key就说参数的名字
    swimm_process= multiprocessing.Process(target=swimm,args=(3,"小明")) #使用元组携带得参数写入
    chess_process = multiprocessing.Process(target=chess,kwargs={"num":2,"name":"小兰"})#使用字典携带得参数写入
    # 3.启动进程执行指定任务
    swimm_process.start()
    chess_process.start()

(2),设置守护主进程,主进程退出后子进程子进程直接销毁,不再执行

import time
import multiprocessing
# 主进程会等待所有的子进程执行结束在结束
def work():
    for i in range(10):
        print("工作中。。。")
        # 子延迟0.2秒
        time.sleep(0.2)
if __name__=="__main__":
    # 创建子进程
    work_process = multiprocessing.Process(target=work)
    # 设置守护主进程,主进程退出后子进程直接销毁,不再执行子进程的代码
    work_process.daemon=True
    work_process.start()
    # 主进程延迟1秒
    time.sleep(1)
    print("主进程执行完成。。。")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值