用进程实现多任务 进程之间不共享全局变量
import multiprocessing
import time
import os
# 工作任务
def work():
current_process = multiprocessing.current_process()
print("work:", current_process)
print("work进程编号:", current_process.pid, os.getpid())
# 获取父进程的编号
print("work父进程的编号:", os.getppid())
for i in range(10):
print("在子进程中执行")
time.sleep(0.2)
# 根据进程编号杀死对应的进程
# 1. 进程编号
# 2. 9表示强制杀死
os.kill(os.getpid(), 9)
if __name__ == '__main__':
# 扩展:-获取当前进程对象
current_process = multiprocessing.current_process()
print("main:", current_process)
# 扩展-获取当前进程的编号
print("main进程编号:", current_process.pid)
# 创建子进程
# group:进程组,默认值是None,目前只能使用None不能设置其它参数
# target: 执行目标函数
# name: 进程名称,默认的格式: Process-1,....
# args: 以元组方式传参
# kwargs: 以字典方式传参
sub_process = multiprocessing.Process(target=work)
# 启动子进程,执行对应的任务
sub_process.start()
# 在主进程中执行循环打印信息
for i in range(20):
print("在主进程中执行")
time.sleep(0.2)