跨平台的进程

Windows无法使用fork调用创建进程

multiprocessing模块就是跨平台版本的多进程模块,使用 模块的 Process 类可以创建进程。

 
 
from multiprocessing import Process
from time import sleep
num = 100


def test():
   print("------>num:", num)

def test1():
   print("test2----->num:",num)


if __name__ == "__main__":
   p=Process(target=test)   # p就是一个子进程对象
   p1=Process(target=test1)
   # 启动进程
   p.start()
   p1.start()

   p.join()  # join() 表示主进程给当前的进程让步,但是不会影响其他的子进程的运行

   for i in range(10):
      print("----->主进程打印i:",i)


Process语法结构

Process([group [, target [, name [, args [, kwargs]]]]])

target:表示这个进程实例所调用对象;

args:表示调用对象的位置参数元组;

kwargs:表示调用对象的关键字参数字典;

name:为当前进程实例的别名;

group:大多数情况下用不到;

Process类常用方法:

is_alive():判断进程实例是否还在执行;

扫描二维码关注公众号,回复: 1073882 查看本文章

join([timeout]):是否等待进程实例执行结束,或等待多少秒;

start():启动进程实例(创建子进程);

run():如果没有给定target参数,对这个对象调用start()方法时,就将执行对象中的run()方法;

terminate():不管任务是否完成,立即终止;

Process类常用属性:

name:当前进程实例别名,默认为Process-N,N为从1开始递增的整数;

pid:当前进程实例的PID值;


猜你喜欢

转载自blog.csdn.net/antian1991/article/details/80369422
今日推荐