Python使用叉方法创建新进程

  介绍

今天就跟大家聊聊有关Python使用叉方法创建新进程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

除可以进行多线程编程之外,Python还支持使用多进程来实现并发编程。

Python的os模块提供了一个fork()方法,该方法可以叉出来一个子进程。简单来说,fork()方法的作用在于,程序会启动两个进程(一个是父进程,一个是叉出来的子进程)来执行从os.fork()开始的所有代码。

fork()方法不需要参数,它有一个返回值,该返回值表明是哪个进程在执行:

如果叉()方法返回0,则表明是叉出来的子进程在执行。

如果叉()方法返回非0,则表明是父进程在执行,该方法返回fork()出来的子进程的进程ID。

下面程序示范了使用叉()方法创建新进程的过程:

import 操作系统      打印(& # 39;父进程(% s)开始执行& # 39;,%,os.getpid ())   #,开始叉一个子进程   #,从这行代码开始,下面代码都会被两个进程执行   时间=pid  os.fork ()   打印(& # 39;进程进入:% & # 39;,%,os.getpid ())   #,如果pid为0,表明子进程   if  pid ==, 0:   ,,,print(& # 39;子进程,其ID为,(% s),父进程ID为,(% s) & # 39;, %, (os.getpid (),, os.getppid ()))   其他:   ,,,print(& # 39;我,(% s),创建的子进程ID为,(% s)强生# 39;,%,(os.getpid (),, pid))   打印(& # 39;进程结束:% & # 39;,%,os.getpid ())

上面程序叉出来一个子进程,这意味着程序会分别使用父进程和子进程来执行从此行代码开始的代码。

在Linux或Mac OS X系统上运行上面程序(Windows不支持叉()方法,因此在Windows系统上运行上面程序会报锚),可以看到如下运行结果:

父进程(1795)开始执行   进程进入:1795   我(1795)创建的子进程ID 为(1796)。   进程结束:1795   进程进入:1796   子进程,其ID 为(1796),父进程ID 为(1795)   进程结束:1796年,

从上面的运行结果可以看的到,此时程序分别使用两个进程执行从“进程进入”到“进程结束”之间的代码,这就是os.fork()方法的作用。

在实际编程中,程序可通过fork()方法来创建一个子进程,然后通过判断fork()方法的返回值来确定程序是否正在执行子进程,也就是把需要并发执行的任务放在如果pid==0:的条件执行体中,这样就可以启动多个子进程来执行并发任务。

需要注意的是,os.fork(),方法在,Windows 系统上无效,只在,UNIX 及类,UNIX 系统上有效,UNIX 及类,UNIX 系统包括,UNIX, Linux 和,Mac  OS  x

看完上述内容,你们对Python使用叉方法创建新进程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

Python使用叉方法创建新进程