各位用户为了找寻关于想要利用CPU多核资源一Python中多进程(一)的资料费劲了很多周折。这里教程网为您整理了关于想要利用CPU多核资源一Python中多进程(一)的相关资料,仅供查阅,以下为您介绍关于想要利用CPU多核资源一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)和注释后两种结果演示