实现如下需求: 1、开辟两个子进程 2、子进程1设置为死循环, 每隔1秒打印一次"进程信息" 3、子进程2接收一个整数类型参数, 进程2循环的次数即为传入的整形数字, 每隔1秒循环一次 4、当前的程序什么时候结束?
时间: 2024-02-01 20:16:53 浏览: 116
C++ 控制台 调用Timer,实现多线程
可以使用Python中的multiprocessing模块来实现该需求。
代码如下:
```python
import time
import multiprocessing
# 子进程1的函数,死循环每秒打印一次"进程信息"
def func1():
while True:
print("进程信息")
time.sleep(1)
# 子进程2的函数,接收一个整数类型参数num,循环num次,每隔1秒循环一次
def func2(num):
for i in range(num):
print("第{}次循环".format(i+1))
time.sleep(1)
if __name__ == '__main__':
# 创建进程1,target指定子进程1的函数,args为空元组
p1 = multiprocessing.Process(target=func1, args=())
# 创建进程2,target指定子进程2的函数,args传入整数类型参数10
p2 = multiprocessing.Process(target=func2, args=(10,))
# 启动两个子进程
p1.start()
p2.start()
# 等待子进程2结束
p2.join()
# 子进程2结束后,父进程也就结束了,程序结束
```
当前程序会在子进程2循环10次后结束,子进程1是一个死循环,不会自动结束,需要手动结束程序。
阅读全文