python 进程的使用、multiprocessing、Process

进程管理与并发执行
本文介绍了进程管理和并发执行的基础概念,包括并行与并发的区别、程序与进程的概念,并通过示例代码展示了如何使用Python的os模块及multiprocessing库来创建和管理进程。

并行:看上去一起执行

并发:实际上一起执行

编写完毕的代码,在没有运行之前称为程序

正在运行的代码,就称为进程

import os

ret=os.fork()#linux平台有,window中没有,window使用mulitprocessing

这里返回两个值:父子进程都会返回,父进程返回子进程的id,子进程返回0


主进程ret>0

ret为子进程创建的pid

getpid()得到当前进程的进程号,getppid()得到当前进程的父进程

父进程fork()的返回值,就是刚刚创建出来的子进程的id


fork()是多任务的一种

进程之间是相互独立的,需要通信

import os
ret=os.fork()#这里会有两个ret,一个是父进程的,一个是子进程的

if ret==0:
	print("--子进程---")
else:
	print("--父进程----")

#上面的判断,父进程执行一次,子进程执行一次
ret=os.fork()#这里,父子进程执行到这里,分别创建自己的进程和自己的子进程
#下面的程序会执行4次,父子进程和各自的子进程
if ret==0:
	print("--子进程---")
else:
	print("--父进程----")

multiprocessing的使用

from multiprocessing import Process
#window不可以用fork(),但是可以用multiprocessing,可以跨平台使用
import time

def test():
	while True:
		print("---test---")
		time.sleep(2)

p=Process(target=test)
p.start()#让这个进程开始执行test函数里的代码,启动进程
p.join()#等待进程结束才执行下面的程序()里面有时间的话,说明等待多长时间
p.terminate()#进程结束

#所有的进程结束后,程序才结束

Process()

from multiprocessing import Process

def test():
	print("hello")

p=Process(target=test)
p.start()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一枚努力的程序猿

0.01是对我的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值