博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python多进程之Process
阅读量:4977 次
发布时间:2019-06-12

本文共 846 字,大约阅读时间需要 2 分钟。

  1. 由于fork创建进程不能在windows系统上使用,所以产生了multiprocessing.Process
  2. Process可以直接实例化然后用start调用,需要指定新的进程执行的函数,用元组的方式传递参数
  3. 进程对象的join方法会让主进程阻塞,直到子进程执行结束才往下执行,timeout参数可以指定超时时间
  4. Process实现的进程,主进程会等所有子进程执行完毕之后才关闭
  5. 类似Java多线程实现方式,继承Process类,重写run方法,然后实例化,再调用start方法
from multiprocessing import Processimport osimport timedef test(arg):    print(arg)    time.sleep(4)    print("the process %s is executing "%os.getpid())p1 = Process(target=test, args=("haha",))  # 以元组的形式传递参数p1.start()p1.join(timeout=2)  # 子进程执行结束之后主进程才继续往下执行# timeout设置超时时间 超过这个时间如果子进程还没结束 主进程将继续执行# p1.terminate()  # 杀死p1进程print("finish")  # 主进程执行完之后并不会关闭 而是会等子进程执行结束再关闭# 类似Java多线程  继承Process类  重写run方法 实例化 start调用class MyProcess(Process):    def run(self):        time.sleep(3)        print("haha...")m1 = MyProcess()m1.start()print("主进程执行到这里了....")

转载于:https://www.cnblogs.com/endurance9/p/8047554.html

你可能感兴趣的文章