在Python中,实现多进程是比较容易的。我们可以使用multiprocessing进行进程的创建,比如说
代码语言:javascript复制 import multiprocessing as mp
p = mp.Process(target=run_proc, args=('fireling',), name='Run_procProcess')
p.start()
p.join()
这样就创建了一个进程,用p表示,其中run_proc表示你用子进程运行的函数。
如果觉得这样不过瘾,还可以采用进程池创建多个进程,涉及到了两种用法:pool-apply用法和pool-map用法,本质上跟创建单个进程是一样的。
还是要用到multiprocessing包,先创建一个进程池
代码语言:javascript复制 p = mp.Pool()
p.map(run_proc, [i for i in range(m)])
p.close()
p.join()
进程测试
代码语言:javascript复制from multiprocessing import Process
import os
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid())
print('process id:', os.getpid())
def f(name):
info('function f')
print('hello', name)
if __name__ == '__main__':
info('main line')
p = Process(target=f, args=('bob',))
p.start()
p.join()
代码语言:javascript复制import multiprocessing as mp
'''
*
进程示例
----
***
'''
def run_proc(test):
print('sad')
print('fef')
print(test)
if __name__=='__main__':
run_proc('main')
p = mp.Process(target=run_proc, args=('fireling',), name='Run_procProcess')
p.start()
p.join()