- 由于fork创建进程不能在windows系统上使用,所以产生了multiprocessing.Process
- Process可以直接实例化然后用start调用,需要指定新的进程执行的函数,用元组的方式传递参数
- 进程对象的join方法会让主进程阻塞,直到子进程执行结束才往下执行,timeout参数可以指定超时时间
- Process实现的进程,主进程会等所有子进程执行完毕之后才关闭
- 类似Java多线程实现方式,继承Process类,重写run方法,然后实例化,再调用start方法
from multiprocessing import Process
import os
import time
def 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)
print("finish")
class MyProcess(Process):
def run(self):
time.sleep(3)
print("haha...")
m1 = MyProcess()
m1.start()
print("主进程执行到这里了....")
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步