实现如下需求: 1、开辟两个子进程 2、子进程1设置为死循环, 每隔1秒打印一次"进程信息" 3、子进程2接收一个整数类型参数, 进程2循环的次数即为传入的整形数字, 每隔1秒循环一次 4、当前的程序什么时候结束?
时间: 2024-04-16 13:24:15 浏览: 64
根据您的需求,我们可以使用 `multiprocessing` 模块来实现开辟两个子进程,并设置它们的循环行为。下面是一个示例代码,满足您的需求:
```python
import time
import multiprocessing
def process1():
while True:
print("进程1 - 进程信息")
time.sleep(1)
def process2(loop_count):
for i in range(loop_count):
print(f"进程2 - 循环次数: {i+1}")
time.sleep(1)
if __name__ == '__main__':
p1 = multiprocessing.Process(target=process1)
p2 = multiprocessing.Process(target=process2, args=(5,))
p1.start()
p2.start()
p1.join()
p2.join()
print("主进程结束")
```
在上述代码中,我们创建了两个函数 `process1()` 和 `process2()`,分别代表子进程1和子进程2的行为。`process1()` 是一个死循环,每隔1秒打印一次"进程信息"。`process2()` 接收一个整数类型参数 `loop_count`,表示循环的次数,每隔1秒打印循环次数。
在主程序中,我们创建了两个子进程 `p1` 和 `p2`,分别使用 `target` 参数指定它们的执行函数。对于 `p2`,我们传入了参数 `5`,表示循环5次。
然后,我们调用 `start()` 方法启动两个子进程,并使用 `join()` 方法等待它们执行完毕。
最后,主程序输出"主进程结束",表示当前程序结束。
需要注意的是,在 Windows 操作系统上,多进程的代码必须放在 `if __name__ == '__main__':` 的条件判断下执行,以避免子进程被递归地创建。而在类 Unix 系统上,这个条件判断不是必需的。
阅读全文