import multiprocessing
def process_function1():
print('Process 1 is running')
def process_function2():
print('Process 2 is running')
if __name__ == '__main__':
process1 = multiprocessing.Process(target=process_function1)
process2 = multiprocessing.Process(target=process_function2)
process1.start()
process2.start()
process1.join()
process2.join()
程序各部分作用解释:
- 导入模块:
import multiprocessing
导入multiprocessing
模块,该模块提供了一个强大的基于进程的并行编程接口,用于创建和管理进程。
- 定义进程执行函数:
def process_function1():
print('Process 1 is running')
def process_function2():
print('Process 2 is running')
这两个函数分别定义了每个进程要执行的任务。在本程序中,process_function1
函数打印Process 1 is running
,process_function2
函数打印Process 2 is running
。
- 主程序部分:
if __name__ == '__main__':
在Windows系统下,multiprocessing
模块要求主代码必须放在if __name__ == '__main__':
块中,以避免在创建新进程时出现问题。在类Unix系统中,虽然不是严格必需的,但这也是一种良好的编程习惯。
- 创建进程对象:
process1 = multiprocessing.Process(target=process_function1)
process2 = multiprocessing.Process(target=process_function2)
使用multiprocessing.Process
类创建两个进程对象process1
和process2
,target
参数指定每个进程要执行的函数。
- 启动进程:
process1.start()
process2.start()
调用每个进程对象的start
方法,启动进程,操作系统会为每个进程分配资源并开始执行对应的函数。
- 等待进程结束:
process1.join()
process2.join()
调用每个进程对象的join
方法,主进程会等待这两个子进程执行完毕后再继续执行后续代码,确保程序按预期顺序执行。