美文网首页
python进程:一文学会multiprocessing的简单使

python进程:一文学会multiprocessing的简单使

作者: 闲酿星河 | 来源:发表于2021-11-02 22:34 被阅读0次

在python里面要实现多核CPU并行,只能通过多进程方式实现。
本文主要介绍multiprocessing实现多进程的方式。


multiprocessing
from multiprocessing import Process
from time import sleep


def run_001(name):
    print('run_001运行中, name = {}'.format(name))
    sleep(2)
    print('run_001执行结束')


if __name__ == '__main__':
    p = Process(target=run_001, args=('test',))
    print('开始执行子程序')
    p.start()
    print('主进程结束')

>>> 执行结果
开始执行子程序
主进程结束
run_001运行中, name = test
run_001执行结束

导入Process模块,p = Process(target=run_001, args=('test',))创建一个Process实例,传入一个执行函数和函数的参数。p.start()启动进程。

修改代码,加入p.join()

......
   p = Process(target=run_001, args=('test',))
    print('开始执行子程序')
    p.start()
    p.join()
    print('主进程结束')
......
>>>执行结果
开始执行子程序
run_001运行中, name = test
run_001执行结束
主进程结束

可以看出加入p.join() 后,等待子进程结束后,才开始继续往下运行。

Process其他常用方法:

  • is_alive():判断进程实例是否还在执行;
  • join([timeout]):是否等待进程实例执行结束,或等待多少秒;
  • start():启动进程实例(创建子进程);
  • run():如果没有给定target参数,对这个对象调用start()方法时,就将执行对象中的run()方法;
  • terminate():不管任务是否完成,立即终止;
  • name:当前进程别名
  • pid:当前进程的pid值

相关文章

网友评论

      本文标题:python进程:一文学会multiprocessing的简单使

      本文链接:https://www.haomeiwen.com/subject/mcgxzltx.html