小职
2020-11-20
来源 :
阅读 1285
评论 0
摘要:由于python中的多线程无法利用多核优势,如果想要利用CPU多核资源,需要使用多进程,本篇主要介绍使用Python多进程的原因,创建方式等,希望对Python的学习有所帮助。
由于python中的多线程无法利用多核优势,如果想要利用CPU多核资源,需要使用多进程,本篇主要介绍使用Python多进程的原因,创建方式等,希望对Python的学习有所帮助。

大纲
使用多进程的原因
创建多进程的两种方式
守护进程
使用多进程的原因
由于python中的多线程无法利用多核优势,如果想要利用CPU多核资源,需要使用多进程。
创建多进程
Process([target [, args [, name [, kwargs]]]])
# target 表示子进程要执行的任务
# args 元组参数
# kwargs 字典参数
# name 表示子进程的名称
# 方式一
import time
from multiprocessing import Process
def run(name):
print('{0} 开始跑步'.format(name))
time.sleep(2)
print('{0} 跑步结束'.format(name))
p1 = Process(target=run, args=('小华', ))
p2 = Process(target=run, args=('小米', ))
p3 = Process(target=run, args=('小中', ))
p1.start()
p2.start()
p3.start()

方式一演示结果
# 方式二
import time
from multiprocessing import Process
class Run(Process):
def __init__(self, name):
Process.__init__(self)
self.name = name
def run(self):
print('{0} 开始跑步'.format(name))
time.sleep(2)
print('{0} 跑步结束'.format(name))
p1 = Run('小华')
p2 = Run('小米')
p3 = Run('小中')
p1.start()
p2.start()
p3.start()

方式二演示结果
守护进程
守护进程会在主进程代码执行结束后就终止。如果子进程的任务在主进程任务结束后就没有存在的必要了,那么该子进程应该在开启前就被设置成守护进程。主进程代码运行结束,守护进程随即终止。

启用time.sleep(3)和注释后两种结果演示
关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取最新技术干货教程资源哦

喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号