Python 多进程编程:使用 os.fork() 创建子进程并输出内容
Python 多进程编程:使用 os.fork() 创建子进程并输出内容
本文介绍如何使用 Python 的 os.fork() 函数创建两个子进程,分别输出不同的内容。
示例代码:
import os
def child1():
print('E')
def child2():
print('F')
pid1 = os.fork()
if pid1 == 0: # 子进程1
child1()
else:
pid2 = os.fork()
if pid2 == 0: # 子进程2
child2()
else: # 父进程
os.waitpid(pid1, 0)
os.waitpid(pid2, 0)
输出结果:
E
F
代码解析:
- 导入 os 模块:
import os - 定义子进程函数:
child1()和child2()分别用于输出 'E' 和 'F'。 - 创建第一个子进程:
pid1 = os.fork() - 判断是否为子进程1:
if pid1 == 0:- 如果是子进程1,执行
child1()函数输出 'E'。
- 如果是子进程1,执行
- 创建第二个子进程:
pid2 = os.fork() - 判断是否为子进程2:
if pid2 == 0:- 如果是子进程2,执行
child2()函数输出 'F'。
- 如果是子进程2,执行
- 父进程等待子进程完成:
os.waitpid(pid1, 0)和os.waitpid(pid2, 0)
总结:
本示例展示了如何使用 os.fork() 函数创建多个子进程,每个子进程执行不同的任务,并通过 os.waitpid() 函数等待子进程完成。这种多进程编程模式可以提高程序效率,尤其适用于需要并行处理大量任务的场景。
原文地址: https://www.cveoy.top/t/topic/jJbh 著作权归作者所有。请勿转载和采集!