类:Process

最简单的使用代码:

from multiprocessing import Process


def f(name):
    print('hello', name)


if __name__ == '__main__': # 判断是否为主程序
    """
    创建Process对象, 表示一个子进程.
    1. target参数表示子进程要做的任务(一个可执行对象)
    2. args是一个元组, 表示传递给target的可执行对象的位置参数.
    本例中就是把"bob"传递给函数f的name参数
    """
    p = Process(target=f, args=('bob',))
    p.start() # 启动子进程
    p.join() # 等待进程终止
    print("子进程已经终止")

Process实例p具有以下方法:

1. p.start()

启动子进程. 这将运行代表进程的子进程, 并调用该子进程中的p.run()方法.

2. p.join([timeout])

等待进程p终止, timeout是可选的超时时间. 这个方法通常用户进程间的同步.

3. p.isalive()

测试进程p是否还在运行, 如果扔在运行, 则返回True

4. p.terminate()

强制终止p进程. 如果调用此方法, 进程p将立即被终止, 同时不会进行任何清理工作. 如果再进程p中也开启了子进程, 则这些子进程将成为僵死进程.

如果p保存了一个锁定或有进程间通信, 那么终止可能会导致死锁或I/O崩溃.


Process实例p具有以下实例属性:

1. p.daemon

一个布尔标志, 指示这个进程是否为后台进程. 当创建他的python进程终止时, 后台进程将自动终止.

另外禁止后台进程创建自己的新进程. p.daemon的值必须再进程启动前设置.

2. p.exitcode

进程的整数退出码. 如果进程仍在运行, 则它的值是None. 如果是负数, -N表示由信号N所终止

3. p.name

进程的名字

4. p.pid

进程的整数ID

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""