进程1
什么是进程
- 操作系统在运行过程中, 一个程序运行起来就是一个进程
- 在python中, 多进程编程可以让我们程序运行效率更高, 同一时刻可以做很多事情
multiprocessing模块
multiprocessing模块是python中专门用来创建多进程的, multiprocessing模块提供了Process类来创建进程
注意点
如果是在Windows操作系统中, 所有和进程创建相关的代码都必须放在'if __name__ == main 下面执行, 否则报错'
Process类的使用
-
创建子进程: 子进程 = Process(target=函数名)
-
运行子进程: 子进程.start()
-
如果target中执行函数带有参数, 那么格式为
子进程 = Process(target=函数名, args=(参数1, ))
-
join方法: 调用start方法后, 父子进程在同时执行, 如果父进程想要等待子进程结束后,在执行代码,可以使用join方法, 格式: 子进程对象.join()
-
如果超过timeout的时间, 那么将不会等待,直接执行join下面代码
获取进程号:
- os.getpid(): 可以获取当前进程的id
- os.getppid(): 可以获取当前进程的父进程id
父进程会等待子进程执行完毕后再退出
如果在父进程中执行所有代码后, 还有子进程在执行, 那么父进程会等待子进程执行完所有代码后再退出