进程1

什么是进程

  • 操作系统在运行过程中, 一个程序运行起来就是一个进程
  • 在python中, 多进程编程可以让我们程序运行效率更高, 同一时刻可以做很多事情

multiprocessing模块

  • multiprocessing模块是python中专门用来创建多进程的, multiprocessing模块提供了Process类来创建进程

注意点

  • 如果是在Windows操作系统中, 所有和进程创建相关的代码都必须放在'if __name__ == main 下面执行, 否则报错'

进程1

Process类的使用

  • 创建子进程: 子进程 = Process(target=函数名)

  • 运行子进程: 子进程.start()

  • 如果target中执行函数带有参数, 那么格式为子进程 = Process(target=函数名, args=(参数1, ))
    进程1

  • join方法: 调用start方法后, 父子进程在同时执行, 如果父进程想要等待子进程结束后,在执行代码,可以使用join方法, 格式: 子进程对象.join()
    进程1

  • 如果超过timeout的时间, 那么将不会等待,直接执行join下面代码
    进程1

获取进程号:

  • os.getpid(): 可以获取当前进程的id
  • os.getppid(): 可以获取当前进程的父进程id

父进程会等待子进程执行完毕后再退出

  • 如果在父进程中执行所有代码后, 还有子进程在执行, 那么父进程会等待子进程执行完所有代码后再退出