# 导入进程模块
import multiprocessing
# 导入延迟模块
import time
# 系统模块
import os
# 函数a
def a(num): #num 是接收传值的
print(f'我是函数a{os.getpid()}') #获取进程id的
print(f'我是函数a父进程id{os.getppid()}') #获取父进程id的
for i in range(num):
time.sleep(0.2)
print('我是a')
# 函数b
def b(count):
print(f'我是函数b{os.getpid()}')
print(f'我是函数b父进程id{os.getppid()}')
for i in range(count):
time.sleep(0.2)
print('我是b')
# 文件入口
if __name__ == '__main__':
# 使用 multiprocessing 模块中的 Process方法 创建多线程任务
a_process = multiprocessing.Process(target=a, args=(3,)) #args传入的必须是元组
b_process = multiprocessing.Process(target=b, kwargs={'count': 9}) #kwargs 传入的必须是字典
#设置守护主进程 只要主进程结束 子进程也会结束
a_process.daemon =True
# 调用 start 启动进程
a_process.start()
b_process.start()
time.sleep(0.2)
# 手动结束子进程
b_process.terminate()
print('主进程结束')
# 创建子进程,就是拷贝主进程 。进程之间互相独立
# 主进程结束,会等子进程先结束,在结束
发表评论