在Python中启动并行任务

如果可以将一个Python程序分解为不相互依赖的子程序,则在运行整个程序时,可以并行运行每个子程序。这个概念在Python中称为并行处理。

使用多处理

此模块可用于创建可以并行运行的主流程的许多子流程。在下面的程序中,我们初始化一个进程,然后使用run方法运行多个子进程。通过使用进程ID,我们可以在打印语句中看到不同的子进程。我们还使用sleep方法来查看打印语句,这些语句之间的延迟很小。

示例

import multiprocessing
import time

class Process(multiprocessing.Process):
   def __init__(self, id):
      super(Process, self).__init__()
      self.id = id

   def run(self):
      time.sleep(1)
      print("Running process id: {}".format(self.id))

if __name__ == '__main__':
   p = Process("a")
   p.start()
   p.join()
   p = Process("b")
   p.start()
   p.join()
   p = Process("c")
   p.start()
   p.join()

输出结果

运行上面的代码给我们以下结果-

Running process id: a
Running process id: b
Running process id: c