Python 中创建进程的3种方式
1.使用multiprocessing模块创建进程:
```python
from multiprocessing import Process # 导入模块
import time
import os
# 使用multiprocessing模块创建进程
def child_1(interval): # 子程序1调用的方法
print("子进程(%s)开始执行,父进程为(%s)" % (os.getpid(), os.getppid()))
time_s = time.time() # 开始计时
time.sleep(interval) # 程序将会被挂起interval秒
time_e = time.time() # 计时结束
print("子进程(%s)执行时间为'%0.2f'秒" % (os.getpid(), time_e-time_s))
def child_2(interval): # 子进程2调用的方法
print("子进程(%s)开始执行,父进程为(%s)" % (os.getpid(), os.getppid()))
time_s = time.time()
time.sleep(interval)
time_e = time.time()
print("子进程(%s)执行时间为'%0.2f'秒" % (os.getpid(), time_e - time_s))
def main(): # 执行主程序
print("-"*10+"父进程开始执行"+"-"*10)
print("父进程PID:%s" % os.getpid()) # 打印当前程序的ID
p1 = Process(target=child_1, args=(1,)) # 实例化进程p1
p2 = Process(target=child_2, name="mrsoft", args=(2,)) # 实例化进程p2
p1.start() # 启动进程p1
p2.start() # 启动进程P2
# 同时父进程仍然往下执行,判断p1,p2是否还在执行,是返还True
print("p1.is_alive=%s" % p1.is_alive())
print("p2.is_alive=%s" % p2.is_alive())
# 打印p1和p2进程的别名和PID
print("p1.name=%s" % p1.name)
print("p1.pid=%s" % p1.pid)
print("p2.name=%s" % p2.name)