实现如下需求: 1、开辟两个子进程 2、子进程1设置为死循环, 每隔1秒打印一次"进程信息" 3、子进程2接收一个整数类型参数, 进程2循环的次数即为传入的整形数字, 每隔1秒循环一次 4、当前的程序什么时候结束?
时间: 2024-04-09 09:28:54 浏览: 43
Bank.zip_4 3 2 1_Bank 进程_银行家算法
下面是一个使用Python的`multiprocessing`库实现上述需求的示例代码:
```python
import multiprocessing
import time
# 子进程1的函数,设置为死循环,每隔1秒打印一次"进程信息"
def process1():
while True:
print("进程信息")
time.sleep(1)
# 子进程2的函数,接收一个整数参数,循环的次数即为传入的整数
def process2(count):
for i in range(count):
print(f"子进程2正在执行,当前循环次数:{i+1}")
time.sleep(1)
if __name__ == '__main__':
# 创建子进程1和子进程2
p1 = multiprocessing.Process(target=process1)
p2 = multiprocessing.Process(target=process2, args=(5,)) # 这里传入参数为5
# 启动子进程1和子进程2
p1.start()
p2.start()
# 等待子进程2执行完毕
p2.join()
# 终止子进程1
p1.terminate()
```
在上述代码中,我们首先定义了两个函数`process1`和`process2`,分别作为子进程1和子进程2的执行逻辑。子进程1是一个死循环,每隔1秒打印一次"进程信息"。子进程2接收一个整数参数作为循环的次数,每隔1秒打印当前循环次数。然后,在主程序中,我们创建了两个`multiprocessing.Process`对象来表示子进程1和子进程2,并通过`start()`方法启动它们。接着,使用`join()`方法等待子进程2执行完毕。最后,使用`terminate()`方法终止子进程1,这样整个程序会在子进程2执行完毕后结束。
阅读全文