for循环fork创建进程,fork()--fork()创建了几个进程

  for循环fork创建进程,fork()fork()创建了几个进程

  除了多线程编程,Python还支持使用多个进程实现并发编程。

  Python的os模块提供了一个fork()方法,可以派生出一个子进程。简单来说,fork()方法的作用就是程序会启动两个进程(一个是父进程,一个是来自fork的子进程)来执行来自os.fork()的所有代码。

  fork()方法不需要参数,它有一个指示正在执行哪个进程的返回值:

  如果fork()方法返回0,则表明fork-out子流程正在执行。

  如果fork()方法返回非0,表示父进程正在执行,该方法返回从fork()出来的子进程的进程ID。

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

  进口货

  Print(父进程(%s)开始执行 %os.getpid()

  #将fork作为子进程启动

  #从这一行代码开始,下面的代码将由两个进程执行。

  pid=os.fork()

  Print(输入的进程:%s%os.getpid())

  #如果pid为0,则表示有一个子进程

  ifpid==0:

  print( ID为(%s)且父进程ID为(%s)的子进程 %(os.getpid(),os.getppid()))

  else:

  Print (I (%s)创建了ID为(%s)的子进程。%(os.getpid(),pid))

  print( End of process:% s % OS . getpid())上面的程序分叉出一个子进程,也就是说程序会使用父进程和子进程分别执行从这行代码开始的代码。

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

  父进程(1795)开始执行。

  流程入口:1795

  我(1795)创建了一个ID为(1796)的子进程。

  过程结束:1795

  过程入口:1796

  ID为1796的子进程和ID为1795的父进程

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

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

  需要注意的是,os.fork()方法在Windows系统上无效,只在UNIX和类UNIX系统上有效,包括UNIX、Linux和MacOSX X。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • shell中for循环语句,shell脚本中的for循环
  • shell中for循环语句,shell脚本中的for循环,shell中的for循环用法详解
  • js中for循环语句,js中for循环的两种语法
  • js中for循环语句,for循环语句js,JS中for循环的四种写法示例(入门级)
  • dos批处理命令操作,批处理命令循环语句,DOS 批处理命令For循环命令详解
  • c语言for循环语句用法,c语言中for循环语句详解
  • c语言for循环语句用法,c语言中for循环语句详解,C语言示例讲解for循环的用法
  • java中增强型for循环作用,java增强for循环的语法结构
  • java中增强型for循环作用,java增强for循环的语法结构,java增强for循环的实现方法
  • for循环打印菱形的程序框图,javafor循环输出菱形
  • for循环打印菱形的程序框图,javafor循环输出菱形,Java利用for循环打印菱形的实例教程
  • python for循环跳过,跳出多层for循环
  • python for循环跳过,跳出多层for循环,python跳出双层for循环的解决方法
  • python for 迭代器,迭代器和for循环
  • python for循环递减,python for 数组
  • 留言与评论(共有 条评论)
       
    验证码: