成都网站建设设计

将想法与焦点和您一起共享

想要利用CPU多核资源一Python中多进程(一)

 大纲

创新互联建站专业为企业提供江州网站建设、江州做网站、江州网站设计、江州网站制作等企业网站建设、网页设计与制作、江州企业网站模板建站服务,十余年江州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

  1. 使用多进程的原因
  2. 创建多进程的两种方式
  3. 守护进程

使用多进程的原因

由于python中的多线程无法利用多核优势,如果想要利用CPU多核资源,需要使用多进程。

创建多进程

 
 
 
 
  1. Process([target [, args [, name [, kwargs]]]])
  2. # target 表示子进程要执行的任务
  3. # args 元组参数
  4. # kwargs 字典参数
  5. # name 表示子进程的名称

 
 
 
 
  1. # 方式一
  2. import time
  3. from multiprocessing import Process
  4. def run(name):
  5.     print('{0} 开始跑步'.format(name))
  6.     time.sleep(2)
  7.     print('{0} 跑步结束'.format(name))
  8. p1 = Process(target=run, args=('小华', ))
  9. p2 = Process(target=run, args=('小米', ))
  10. p3 = Process(target=run, args=('小中', ))
  11. p1.start()
  12. p2.start()
  13. p3.start()

方式一演示结果

 
 
 
 
  1. # 方式二
  2. import time
  3. from multiprocessing import Process
  4. class Run(Process):
  5.     def __init__(self, name):
  6.         Process.__init__(self)
  7.         self.name = name
  8.     def run(self):
  9.         print('{0} 开始跑步'.format(name))
  10.         time.sleep(2)
  11.         print('{0} 跑步结束'.format(name))
  12. p1 = Run('小华')
  13. p2 = Run('小米')
  14. p3 = Run('小中')
  15. p1.start()
  16. p2.start()
  17. p3.start()

方式二演示结果

守护进程

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

启用time.sleep(3)和注释后两种结果演示


网站名称:想要利用CPU多核资源一Python中多进程(一)
文章URL:https://chengdu.cdxwcx.cn/article/coeesdd.html