多进程

进程

单进程

import time
#唱歌

def sing():
	for i in range(3):
		print("唱歌")
		time.sleep(0.5)

#跳舞
def dance():
	for i in range(4):
		print("跳舞")
		time.sleep(0.5)


if __name__ =='__main__':
	sing()
	dance()

多进程

分三步:

1、导入进程包
2、使用进程类创建进程对象
3、使用进程对象启动进程执行指定任务

#导入进程包
import multiprocessing
import time

#唱歌

def sing(num):
	print("唱歌进程的pid:", os.getpid())
	for i in range(num):
		print("唱歌")
		time.sleep(0.5)

#跳舞
def dance(num):
	print("跳舞进程的pid:", os.getpid())
	for i in range(num):
		print("跳舞")
		time.sleep(0.5)

if __name__ == '__main__':
	# 使用进程类创建进程对象
	# target=要调用的函数名;
	#两种传参方式:args是元组方式传参(元组的顺序就是函数参数的顺序),kwargs是字典方式传参(key是函数的参数)
	ProcessSing=multiprocessing.Process(target=sing,args=(3,))
	ProcessDance=multiprocessing.Process(target=dance,kwargs={"num":2})
	# 使用进程对象启动进程执行指定任务
	ProcessSing.start()
	ProcessDance.start()

## 获取进程编号
1、获取当前进程编号
2、获取当前父进程编号
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210121200917219.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dlbWluaV9maXJl,size_16,color_FFFFFF,t_70#pic_center)

默认主进程会等待所有子进程执行结束后再结束
设置守护主进程后,主进程结束,所有子进程直接销毁,不再执行子进程剩余代码

ProcessDance=multiprocessing.Process(target=dance,kwargs={"num":2})
#设置守护主进程
ProcessDance.daemon = True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值